Uses of Interface
com.pnfsoftware.jeb.core.units.code.java.IJavaElement
Packages that use IJavaElement
Package
Description
This package contains types used to publicly access and manipulate JEB's DEX Decompiler (referred
to as
dexdec
) Intermediate Representation (IR) objects.Types used to manipulate
dexdec
-generated (Dex decompiler) Java Abstract Syntax Tree
(AST) objects.-
Uses of IJavaElement in com.pnfsoftware.jeb.core.units.code.android.ir
Methods in com.pnfsoftware.jeb.core.units.code.android.ir that return IJavaElementModifier and TypeMethodDescriptionIDExpression.generateAST
(IDMethodContext ctx, IJavaMethod m) Generate the Java AST element for this IR expression. -
Uses of IJavaElement in com.pnfsoftware.jeb.core.units.code.java
Subinterfaces of IJavaElement in com.pnfsoftware.jeb.core.units.code.javaModifier and TypeInterfaceDescriptioninterface
Java AST interface to represent a Java annotation.interface
Java AST interface to represent a Java annotation element.interface
Java AST interface to represent the element of an array.interface
Java AST interface to represent assignments.interface
Java AST interface to represent a sequence ofstatements
.interface
Java AST interface to represent abreak
statement.interface
Java AST interface to represent a method invocation.interface
Java AST interface to represent a Java class or interface.interface
Java AST interface to represent compound statements.interface
Java AST interface to represent a conditional expression.interface
Java AST interface to represent a literal or constant value.interface
Java AST interface to represent acontinue
statement.interface
High-level Java AST interface to represent a decompilable Java element (a class, method, or field).interface
Java AST interface to represent a definition statement.interface
Java AST interface to represent ado-while
loop statement.interface
High-level interface implemented by Java AST elements representing expressions.interface
Java AST interface to represent a Java field.interface
Java AST interface used to represent a standard for loop statement.interface
Java AST interface used to represent a for-each (Java 5+) loop statement.interface
Java AST interface to represent a "goto" statement.interface
Java AST interface to represent a Java identifier, or variable.interface
Java AST interface to represent a conditional "if" statement.interface
Java AST interface to represent an instance field.interface
Java AST interface to represent labels.interface
High-level interface is used to represent Java AST expressions that can be assigned to, that is, expressions that can be left members in assignment statements.interface
Java AST interface to represent a Java method.interface
Java AST interface to represent a special "monitor" statement.interface
Java AST interface to represent the instantiation of a new non-array object.interface
Java AST interface to represent the instantiation of an array object.interface
Java AST interface to represent arithmetic and logical expressions.interface
Java AST interface to represent a Java predicate.interface
Java AST interface to represent a Java predicate.interface
Java AST interface to represent return statements of methods.interface
Base interface for Java AST elements that represent statements.interface
Java AST interface to represent a static field.interface
Java AST interface to representswitch
statements.interface
Java AST interface to represent a synchronized block of code.interface
High-level interface extended by Return and Throw statements.interface
Java AST interface to represent throw statements.interface
Java AST interface to represent try-catch elements.interface
Java AST interface to represent a type reference.interface
Java AST interface to representwhile
loop statements.Methods in com.pnfsoftware.jeb.core.units.code.java that return IJavaElementModifier and TypeMethodDescriptionJavaOutputSink.astParent()
Make sure to call beforegenerateEnter
.JavaOutputSink.astPop()
JavaOutputSink.astPush
(IJavaElement elt) IJavaElement.duplicate()
Duplicate this element.static IJavaElement
JUtil.findParent
(IJavaElement root, IJavaElement elt) Retrieve the parent of an AST element (or first parent, if the element is reusable and has potentially multiple parents).IJavaSourceUnit.getASTElement()
Get a reference to the Java class or method defined in this unit.protected abstract IJavaElement
AbstractJElementOptimizer.optimizeElement
(IJavaElement e, IJavaElement parent) Methods in com.pnfsoftware.jeb.core.units.code.java that return types with arguments of type IJavaElementModifier and TypeMethodDescriptionIJavaCompound.getSubElements
(boolean excludeSubBlocks) This specialized version ofgetSubElements()
allows the caller to exclude collecting sub-blocks of this compound.IJavaElement.getSubElements()
Get the list of AST elements that constitute this AST element.Methods in com.pnfsoftware.jeb.core.units.code.java with parameters of type IJavaElementModifier and TypeMethodDescriptionvoid
JavaOutputSink.addGeneratedAnon
(IJavaElement container, IJavaClass c) Register an anonymous type (most likely a class) that's about to be rendered as inline code, inside a method or another class.JavaOutputSink.astPush
(IJavaElement elt) static IJavaElement
JUtil.findParent
(IJavaElement root, IJavaElement elt) Retrieve the parent of an AST element (or first parent, if the element is reusable and has potentially multiple parents).static String
JUtil.generate
(IJavaElement elt) JavaOutputSink.getGeneratedAnon
(IJavaElement container) static List<IJavaIdentifier>
JUtil.getIdentifiers
(IJavaElement e) static String
JUtil.getStringConstant
(IJavaElement e) boolean
JavaOutputSink.isBeingGenerated
(IJavaElement elt) static boolean
JUtil.isClassMethodField
(IJavaElement e) static boolean
JUtil.isIdentOrDefinition
(IJavaElement e, IJavaIdentifier ident) Determine whether the elements is the provided identifier or a simple definition of the identifier.static boolean
JUtil.isIntegerConstant
(IJavaElement e, int expected) static boolean
JUtil.isMonitorExit
(IJavaElement stm) static boolean
JUtil.isMonitorExit
(IJavaElement stm, IJavaExpression expectedLock) static boolean
JUtil.isStringConstant
(IJavaElement e) abstract int
AbstractJBlockOptimizer.optimizeBlock
(IJavaBlock b, IJavaElement parent) Optimize a block of AST code.protected abstract IJavaElement
AbstractJElementOptimizer.optimizeElement
(IJavaElement e, IJavaElement parent) protected int
AbstractJBlockOptimizer.performInternal
(IJavaBlock b, IJavaElement parent) The default implementation callsAbstractJBlockOptimizer.optimizeBlock(IJavaBlock, IJavaElement)
on all blocks of the AST method to be optimized.boolean
IJavaElement.replaceSubElement
(IJavaElement oldElement, IJavaElement newElement) Replace one element by another one.boolean
IJavaSwitch.replaceSubElement
(IJavaElement oldElement, IJavaElement newElement) Note: case-replacements are currently not supported.boolean
IJavaElement.visitDepthPost
(IJVisitor visitor, IJavaElement parent) Depth-first search, post-order visit of an expression tree or sub-tree.boolean
IJavaElement.visitDepthPost
(IJVisitor visitor, IJavaElement parent, JVisitResults results) Depth-first search, post-order visit of an expression tree or sub-tree.boolean
IJavaElement.visitDepthPost
(IJVisitor visitor, IJavaElement parent, JVisitResults results, boolean doNotVisitBlocksInsideCompounds) Depth-first search, post-order visit of an expression tree or sub-tree.boolean
IJavaElement.visitDepthPre
(IJVisitor visitor, IJavaElement parent) Visit this AST tree.boolean
IJavaElement.visitDepthPre
(IJVisitor visitor, IJavaElement parent, JVisitResults results) Visit this AST tree.