Class BasicBlock
- java.lang.Object
-
- org.jd.core.v1.service.converter.classfiletojavasyntax.model.cfg.BasicBlock
-
- Direct Known Subclasses:
BasicBlock.ImmutableBasicBlock
public class BasicBlock extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
BasicBlock.ExceptionHandler
protected static class
BasicBlock.ImmutableBasicBlock
static class
BasicBlock.SwitchCase
-
Field Summary
-
Constructor Summary
Constructors Constructor Description BasicBlock(ControlFlowGraph controlFlowGraph, int index, int type, int fromOffset, int toOffset, boolean inverseCondition)
BasicBlock(ControlFlowGraph controlFlowGraph, int index, int type, int fromOffset, int toOffset, boolean inverseCondition, java.util.HashSet<BasicBlock> predecessors)
BasicBlock(ControlFlowGraph controlFlowGraph, int index, BasicBlock original)
BasicBlock(ControlFlowGraph controlFlowGraph, int index, BasicBlock original, java.util.HashSet<BasicBlock> predecessors)
-
Method Summary
-
-
-
Field Detail
-
TYPE_DELETED
public static final int TYPE_DELETED
- See Also:
- Constant Field Values
-
TYPE_START
public static final int TYPE_START
- See Also:
- Constant Field Values
-
TYPE_END
public static final int TYPE_END
- See Also:
- Constant Field Values
-
TYPE_STATEMENTS
public static final int TYPE_STATEMENTS
- See Also:
- Constant Field Values
-
TYPE_THROW
public static final int TYPE_THROW
- See Also:
- Constant Field Values
-
TYPE_RETURN
public static final int TYPE_RETURN
- See Also:
- Constant Field Values
-
TYPE_RETURN_VALUE
public static final int TYPE_RETURN_VALUE
- See Also:
- Constant Field Values
-
TYPE_SWITCH_DECLARATION
public static final int TYPE_SWITCH_DECLARATION
- See Also:
- Constant Field Values
-
TYPE_SWITCH
public static final int TYPE_SWITCH
- See Also:
- Constant Field Values
-
TYPE_SWITCH_BREAK
public static final int TYPE_SWITCH_BREAK
- See Also:
- Constant Field Values
-
TYPE_TRY_DECLARATION
public static final int TYPE_TRY_DECLARATION
- See Also:
- Constant Field Values
-
TYPE_TRY
public static final int TYPE_TRY
- See Also:
- Constant Field Values
-
TYPE_TRY_JSR
public static final int TYPE_TRY_JSR
- See Also:
- Constant Field Values
-
TYPE_TRY_ECLIPSE
public static final int TYPE_TRY_ECLIPSE
- See Also:
- Constant Field Values
-
TYPE_JSR
public static final int TYPE_JSR
- See Also:
- Constant Field Values
-
TYPE_RET
public static final int TYPE_RET
- See Also:
- Constant Field Values
-
TYPE_CONDITIONAL_BRANCH
public static final int TYPE_CONDITIONAL_BRANCH
- See Also:
- Constant Field Values
-
TYPE_IF
public static final int TYPE_IF
- See Also:
- Constant Field Values
-
TYPE_IF_ELSE
public static final int TYPE_IF_ELSE
- See Also:
- Constant Field Values
-
TYPE_CONDITION
public static final int TYPE_CONDITION
- See Also:
- Constant Field Values
-
TYPE_CONDITION_OR
public static final int TYPE_CONDITION_OR
- See Also:
- Constant Field Values
-
TYPE_CONDITION_AND
public static final int TYPE_CONDITION_AND
- See Also:
- Constant Field Values
-
TYPE_CONDITION_TERNARY_OPERATOR
public static final int TYPE_CONDITION_TERNARY_OPERATOR
- See Also:
- Constant Field Values
-
TYPE_LOOP
public static final int TYPE_LOOP
- See Also:
- Constant Field Values
-
TYPE_LOOP_START
public static final int TYPE_LOOP_START
- See Also:
- Constant Field Values
-
TYPE_LOOP_CONTINUE
public static final int TYPE_LOOP_CONTINUE
- See Also:
- Constant Field Values
-
TYPE_LOOP_END
public static final int TYPE_LOOP_END
- See Also:
- Constant Field Values
-
TYPE_GOTO
public static final int TYPE_GOTO
- See Also:
- Constant Field Values
-
TYPE_INFINITE_GOTO
public static final int TYPE_INFINITE_GOTO
- See Also:
- Constant Field Values
-
TYPE_GOTO_IN_TERNARY_OPERATOR
public static final int TYPE_GOTO_IN_TERNARY_OPERATOR
- See Also:
- Constant Field Values
-
TYPE_TERNARY_OPERATOR
public static final int TYPE_TERNARY_OPERATOR
- See Also:
- Constant Field Values
-
TYPE_JUMP
public static final int TYPE_JUMP
- See Also:
- Constant Field Values
-
GROUP_SINGLE_SUCCESSOR
public static final int GROUP_SINGLE_SUCCESSOR
- See Also:
- Constant Field Values
-
GROUP_SYNTHETIC
public static final int GROUP_SYNTHETIC
- See Also:
- Constant Field Values
-
GROUP_CODE
public static final int GROUP_CODE
- See Also:
- Constant Field Values
-
GROUP_END
public static final int GROUP_END
- See Also:
- Constant Field Values
-
GROUP_CONDITION
public static final int GROUP_CONDITION
- See Also:
- Constant Field Values
-
TYPE_NAMES
protected static final java.lang.String[] TYPE_NAMES
-
EMPTY_EXCEPTION_HANDLERS
protected static final DefaultList<BasicBlock.ExceptionHandler> EMPTY_EXCEPTION_HANDLERS
-
EMPTY_SWITCH_CASES
protected static final DefaultList<BasicBlock.SwitchCase> EMPTY_SWITCH_CASES
-
SWITCH_BREAK
public static final BasicBlock SWITCH_BREAK
-
LOOP_START
public static final BasicBlock LOOP_START
-
LOOP_CONTINUE
public static final BasicBlock LOOP_CONTINUE
-
LOOP_END
public static final BasicBlock LOOP_END
-
END
public static final BasicBlock END
-
RETURN
public static final BasicBlock RETURN
-
controlFlowGraph
protected ControlFlowGraph controlFlowGraph
-
index
protected int index
-
type
protected int type
-
fromOffset
protected int fromOffset
-
toOffset
protected int toOffset
-
next
protected BasicBlock next
-
branch
protected BasicBlock branch
-
condition
protected BasicBlock condition
-
inverseCondition
protected boolean inverseCondition
-
sub1
protected BasicBlock sub1
-
sub2
protected BasicBlock sub2
-
exceptionHandlers
protected DefaultList<BasicBlock.ExceptionHandler> exceptionHandlers
-
switchCases
protected DefaultList<BasicBlock.SwitchCase> switchCases
-
predecessors
protected java.util.HashSet<BasicBlock> predecessors
-
-
Constructor Detail
-
BasicBlock
public BasicBlock(ControlFlowGraph controlFlowGraph, int index, BasicBlock original)
-
BasicBlock
public BasicBlock(ControlFlowGraph controlFlowGraph, int index, BasicBlock original, java.util.HashSet<BasicBlock> predecessors)
-
BasicBlock
public BasicBlock(ControlFlowGraph controlFlowGraph, int index, int type, int fromOffset, int toOffset, boolean inverseCondition)
-
BasicBlock
public BasicBlock(ControlFlowGraph controlFlowGraph, int index, int type, int fromOffset, int toOffset, boolean inverseCondition, java.util.HashSet<BasicBlock> predecessors)
-
-
Method Detail
-
getControlFlowGraph
public ControlFlowGraph getControlFlowGraph()
-
getIndex
public int getIndex()
-
getType
public int getType()
-
setType
public void setType(int type)
-
getFromOffset
public int getFromOffset()
-
setFromOffset
public void setFromOffset(int fromOffset)
-
getToOffset
public int getToOffset()
-
setToOffset
public void setToOffset(int toOffset)
-
getFirstLineNumber
public int getFirstLineNumber()
-
getLastLineNumber
public int getLastLineNumber()
-
getNext
public BasicBlock getNext()
-
setNext
public void setNext(BasicBlock next)
-
getBranch
public BasicBlock getBranch()
-
setBranch
public void setBranch(BasicBlock branch)
-
getExceptionHandlers
public DefaultList<BasicBlock.ExceptionHandler> getExceptionHandlers()
-
getSwitchCases
public DefaultList<BasicBlock.SwitchCase> getSwitchCases()
-
setSwitchCases
public void setSwitchCases(DefaultList<BasicBlock.SwitchCase> switchCases)
-
getCondition
public BasicBlock getCondition()
-
setCondition
public void setCondition(BasicBlock condition)
-
getSub1
public BasicBlock getSub1()
-
setSub1
public void setSub1(BasicBlock sub1)
-
getSub2
public BasicBlock getSub2()
-
setSub2
public void setSub2(BasicBlock sub2)
-
getPredecessors
public java.util.HashSet<BasicBlock> getPredecessors()
-
mustInverseCondition
public boolean mustInverseCondition()
-
setInverseCondition
public void setInverseCondition(boolean inverseCondition)
-
contains
public boolean contains(BasicBlock basicBlock)
-
replace
public void replace(BasicBlock old, BasicBlock nevv)
-
replace
public void replace(java.util.HashSet<BasicBlock> olds, BasicBlock nevv)
-
addExceptionHandler
public void addExceptionHandler(java.lang.String internalThrowableName, BasicBlock basicBlock)
-
inverseCondition
public void inverseCondition()
-
matchType
public boolean matchType(int types)
-
getTypeName
public java.lang.String getTypeName()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object other)
- Overrides:
equals
in classjava.lang.Object
-
-