Package jadx.core.dex.regions.loops
Class LoopRegion
java.lang.Object
jadx.core.dex.attributes.AttrNode
jadx.core.dex.regions.AbstractRegion
jadx.core.dex.regions.conditions.ConditionRegion
jadx.core.dex.regions.loops.LoopRegion
- All Implemented Interfaces:
IAttributeNode,IConditionRegion,IContainer,IRegion
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionLoopRegion(IRegion parent, LoopInfo info, @Nullable BlockNode header, boolean reversed) -
Method Summary
Modifier and TypeMethodDescriptionUnique id for use in 'toString()' methodbooleanCheck if pre-conditions can be inlined into loop conditionvoidgenerate(RegionGen regionGen, ICodeWriter code) Dispatch to needed generate method in RegionGengetBody()@Nullable BlockNodegetInfo()intgetType()booleanbooleanvoidMove all preCondition block instructions before conditionBlock instructionsbooleanreplaceSubBlock(IContainer oldBlock, IContainer newBlock) voidvoidsetPreCondition(BlockNode preCondition) Set instructions which must be executed before condition in every loopvoidtoString()Methods inherited from class jadx.core.dex.regions.conditions.ConditionRegion
getCondition, getConditionBlocks, getConditionSourceLine, invertCondition, simplifyCondition, updateCondition, updateCondition, updateConditionMethods inherited from class jadx.core.dex.regions.AbstractRegion
getParent, setParent, updateParentMethods inherited from class jadx.core.dex.attributes.AttrNode
add, addAttr, addAttr, addAttr, addAttrs, clearAttributes, contains, contains, copyAttributeFrom, copyAttributesFrom, get, getAll, getAnnotation, getAttributesString, getAttributesStringsList, isAttrStorageEmpty, remove, remove, removeAttr, rewriteAttributeFrom, unloadAttributesMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface jadx.core.dex.attributes.IAttributeNode
add, addAttr, addAttr, addAttrs, clearAttributes, contains, contains, copyAttributeFrom, copyAttributesFrom, get, getAll, getAnnotation, getAttributesString, getAttributesStringsList, isAttrStorageEmpty, remove, remove, removeAttr, rewriteAttributeFrom
-
Field Details
-
info
-
conditionAtEnd
private final boolean conditionAtEnd -
header
-
preCondition
-
body
-
type
-
-
Constructor Details
-
LoopRegion
-
-
Method Details
-
getInfo
-
getHeader
-
isEndless
public boolean isEndless() -
getBody
-
setBody
-
isConditionAtEnd
public boolean isConditionAtEnd() -
setPreCondition
Set instructions which must be executed before condition in every loop -
checkPreCondition
public boolean checkPreCondition()Check if pre-conditions can be inlined into loop condition -
mergePreCondition
public void mergePreCondition()Move all preCondition block instructions before conditionBlock instructions -
getSourceLine
public int getSourceLine() -
getType
-
setType
-
getSubBlocks
-
replaceSubBlock
- Specified by:
replaceSubBlockin interfaceIRegion- Overrides:
replaceSubBlockin classAbstractRegion
-
generate
Description copied from interface:IContainerDispatch to needed generate method in RegionGen- Throws:
CodegenException
-
baseString
Description copied from interface:IContainerUnique id for use in 'toString()' method -
toString
-