Uses of Interface
com.pnfsoftware.jeb.core.units.code.java.IJavaStatement
Packages that use IJavaStatement
Package
Description
Types used to manipulate 
dexdec-generated (Dex decompiler) Java Abstract Syntax Tree
 (AST) objects.- 
Uses of IJavaStatement in com.pnfsoftware.jeb.core.units.code.java
Subinterfaces of IJavaStatement in com.pnfsoftware.jeb.core.units.code.javaModifier and TypeInterfaceDescriptioninterfaceJava AST interface to represent assignments.interfaceJava AST interface to represent a sequence ofstatements.interfaceJava AST interface to represent abreakstatement.interfaceJava AST interface to represent a method invocation.interfaceJava AST interface to represent compound statements.interfaceJava AST interface to represent acontinuestatement.interfaceJava AST interface to represent a definition statement.interfaceJava AST interface to represent ado-whileloop statement.interfaceJava AST interface used to represent a standard for loop statement.interfaceJava AST interface used to represent a for-each (Java 5+) loop statement.interfaceJava AST interface to represent a "goto" statement.interfaceJava AST interface to represent a conditional "if" statement.interfaceJava AST interface to represent labels.interfaceJava AST interface to represent a special "monitor" statement.interfaceJava AST interface to represent the instantiation of a new non-array object.interfaceJava AST interface to represent the instantiation of an array object.interfaceJava AST interface to represent return statements of methods.interfaceJava AST interface to representswitchstatements.interfaceJava AST interface to represent a synchronized block of code.interfaceHigh-level interface extended by Return and Throw statements.interfaceJava AST interface to represent throw statements.interfaceJava AST interface to represent try-catch elements.interfaceJava AST interface to representwhileloop statements.Methods in com.pnfsoftware.jeb.core.units.code.java that return IJavaStatementModifier and TypeMethodDescriptionIJavaStatement.duplicate()IJavaBlock.get(int index) Get the statement at a given index.static IJavaStatementJUtil.getFirstRealStatement(IJavaBlock b, int i) This convenience method attempts to determine the next "real" statement to be executed in the block, starting at the provided index 'i'.IJavaFor.getInitializer()Get the initializer statement.IJavaBlock.getLast()Get the last statement from the block.IJavaFor.getPostStatement()Get the post-iteration statement.IJavaBlock.remove(int index) Pull a statement from the block.IJavaBlock.removeLast()Methods in com.pnfsoftware.jeb.core.units.code.java that return types with arguments of type IJavaStatementModifier and TypeMethodDescriptionIJavaCompound.generateFlatList()Generate a flat list of AST and pseudo-AST elements that make up this block.static List<IJavaStatement>JUtil.getGotos(IJavaLabel targetLabel, List<IJavaStatement> flatlist) IJavaMethod.getStatements()Walk the tree and get the ordered list of all (non-pseudo) statements that make up the method.IJavaMethod.toFlatList()Methods in com.pnfsoftware.jeb.core.units.code.java with parameters of type IJavaStatementModifier and TypeMethodDescriptionvoidIJavaBlock.add(IJavaStatement stm) Append a statement to this block.static booleanJUtil.canThrow(IJavaStatement stm) static IJavaLabelJUtil.checkIfGoto(IJavaStatement stm) Check that the statement is a simple "if(...) { goto x; }" and if so, returns "x"IJavaElementFactory.createBlock(IJavaStatement firstStatement) IJavaElementFactory.createFor(IJavaStatement pre, IJavaPredicate p, IJavaStatement post, IJavaBlock b) booleanIJavaMethod.deleteStatement(IJavaStatement stm) Delete a statement by reference.static IJavaLabelJUtil.getGotoLabel(IJavaStatement stm) static IJavaExpressionJUtil.getMonitorEnter(IJavaStatement stm) static IJavaExpressionJUtil.getMonitorExit(IJavaStatement stm) voidIJavaBlock.insert(int index, IJavaStatement stm) Insert a statement at the given index.booleanIJavaCompound.insertAt(int target_offset, IJavaStatement insert_stm) Insert a statement at a particular offset within the AST.static booleanJUtil.isDeclarationOrDefinition(IJavaStatement stm) Determine whether the statement defines an identifier.static booleanJUtil.isFlowBreaker(IJavaStatement stm) static booleanJUtil.isGotoTo(IJavaStatement stm, IJavaLabel target) Check that the statement is a "goto target;"static booleanJUtil.isIf(IJavaStatement stm) Determine whether a statement is a simple if: if(...){...}.static booleanJUtil.isIfContinue(IJavaStatement stm) static booleanJUtil.isIfElse(IJavaStatement stm) Determine whether a statement is like: if(...){...}else{...} which is the if-statement with 2 blocks: the main case block and the default block.static IJavaLabelJUtil.isIfGoto(IJavaStatement stm) Determine if the provided statement is likeif(COND){goto LABEL;}and if so, return the label.static booleanJUtil.isIfNoElse(IJavaStatement stm) Determine whether a statement is like: if(...){ }[else if(...){}]*static booleanJUtil.isNonCompoundFlowBreaker(IJavaStatement stm) Determine whether the provided statement is a return, throw, goto, break, or continue.static booleanJUtil.isOrContainsLabel(IJavaStatement stm) Recursively determine if the statement is or contains a Label.static booleanJUtil.isSimpleBreak(IJavaStatement stm) static booleanJUtil.isSimpleContinue(IJavaStatement stm) static booleanJUtil.isThrow(IJavaStatement stm, IJavaExpression expectedThrown) static IJavaExpressionJUtil.isThrowLike(IJavaStatement stm, List<IJavaStatement> flatlist) abstract intAbstractJStatementOptimizer.optimizeStatement(IJavaStatement stm) Optimize an AST statement.booleanIJavaBlock.remove(IJavaStatement stm) Remove a statement from the block.voidIJavaBlock.set(int index, IJavaStatement stm) Replace a statement by another statement.voidIJavaFor.setInitializer(IJavaStatement initializer) Set the loop initializer statement.voidIJavaFor.setPostStatement(IJavaStatement poststm) Set the loop post-iteration statement.Method parameters in com.pnfsoftware.jeb.core.units.code.java with type arguments of type IJavaStatementModifier and TypeMethodDescriptionvoidIJavaMethod.fromFlatList(List<IJavaStatement> list) static List<IJavaStatement>JUtil.getGotos(IJavaLabel targetLabel, List<IJavaStatement> flatlist) static IJavaExpressionJUtil.isThrowLike(IJavaStatement stm, List<IJavaStatement> flatlist) static intJUtil.removeStatementsDeep(IJavaBlock b, Predicate<IJavaStatement> checker)