Class StatementMaker
java.lang.Object
org.jd.core.v1.service.converter.classfiletojavasyntax.util.StatementMaker
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static class
protected static class
protected static class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ClassFileBodyDeclaration
protected ByteCodeParser
protected static final NullExpression
protected String
protected LocalVariableMaker
protected int
protected StatementMaker.MemberVisitor
protected static final MergeTryWithResourcesStatementVisitor
protected boolean
protected RemoveBinaryOpReturnStatementsVisitor
protected boolean
protected RemoveFinallyStatementsVisitor
protected SearchFirstLineNumberVisitor
protected DefaultStack
<Expression> protected static final StatementMaker.SwitchCaseComparator
protected TypeMaker
protected UpdateIntegerConstantTypeVisitor
-
Constructor Summary
ConstructorsConstructorDescriptionStatementMaker
(TypeMaker typeMaker, LocalVariableMaker localVariableMaker, ClassFile classFile, ClassFileBodyDeclaration bodyDeclaration, ClassFileConstructorOrMethodDeclaration comd) -
Method Summary
Modifier and TypeMethodDescriptionprotected static void
changeEndLoopToStartLoop
(BitSet visited, BasicBlock basicBlock) protected boolean
checkFieldReference
(String fieldName, Expression expression) protected int
protected void
protected Expression
createObjectTypeReferenceDotClassExpression
(int lineNumber, String fieldName, MethodInvocationExpression mie) protected Type
make
(ControlFlowGraph cfg) protected Expression
makeExpression
(WatchDog watchdog, BasicBlock basicBlock, Statements statements, Statements jumps) protected void
makeStatements
(WatchDog watchdog, BasicBlock basicBlock, Statements statements, Statements jumps) A recursive, next neighbour first, statements builder from basic blocks.protected Statements
makeSubStatements
(WatchDog watchdog, BasicBlock basicBlock, Statements statements, Statements jumps) protected Statements
makeSubStatements
(WatchDog watchdog, BasicBlock basicBlock, Statements statements, Statements jumps, Statements updateStatements) protected TernaryOperatorExpression
newTernaryOperatorExpression
(int lineNumber, Expression condition, Expression expressionTrue, Expression expressionFalse) protected void
parseByteCode
(BasicBlock basicBlock, Statements statements) protected void
parseIf
(WatchDog watchdog, BasicBlock basicBlock, Statements statements, Statements jumps) protected void
parseJSR
(WatchDog watchdog, BasicBlock basicBlock, Statements statements, Statements jumps) protected void
parseLoop
(WatchDog watchdog, BasicBlock basicBlock, Statements statements, Statements jumps) protected void
parseSwitch
(WatchDog watchdog, BasicBlock basicBlock, Statements statements, Statements jumps) protected Expression
parseTernaryOperator
(int lineNumber, Expression condition, Expression exp1, Expression exp2) protected void
parseTry
(WatchDog watchdog, BasicBlock basicBlock, Statements statements, Statements jumps, boolean jsr, boolean eclipse) protected void
removeExceptionReference
(Statements catchStatements) protected void
replacePreOperatorWithPostOperator
(Statements statements) protected void
updateJumpStatements
(Statements jumps)
-
Field Details
-
SWITCH_CASE_COMPARATOR
-
FINALLY_EXCEPTION_EXPRESSION
-
MERGE_TRY_WITH_RESOURCES_STATEMENT_VISITOR
protected static final MergeTryWithResourcesStatementVisitor MERGE_TRY_WITH_RESOURCES_STATEMENT_VISITOR -
typeMaker
-
typeBounds
-
localVariableMaker
-
byteCodeParser
-
majorVersion
protected int majorVersion -
internalTypeName
-
bodyDeclaration
-
stack
-
removeFinallyStatementsVisitor
-
removeBinaryOpReturnStatementsVisitor
-
updateIntegerConstantTypeVisitor
-
searchFirstLineNumberVisitor
-
memberVisitor
-
removeFinallyStatementsFlag
protected boolean removeFinallyStatementsFlag -
mergeTryWithResourcesStatementFlag
protected boolean mergeTryWithResourcesStatementFlag
-
-
Constructor Details
-
StatementMaker
public StatementMaker(TypeMaker typeMaker, LocalVariableMaker localVariableMaker, ClassFile classFile, ClassFileBodyDeclaration bodyDeclaration, ClassFileConstructorOrMethodDeclaration comd)
-
-
Method Details
-
make
-
makeStatements
protected void makeStatements(WatchDog watchdog, BasicBlock basicBlock, Statements statements, Statements jumps) A recursive, next neighbour first, statements builder from basic blocks.- Parameters:
basicBlock
- Current basic blockstatements
- List to populate
-
makeSubStatements
protected Statements makeSubStatements(WatchDog watchdog, BasicBlock basicBlock, Statements statements, Statements jumps, Statements updateStatements) -
makeSubStatements
protected Statements makeSubStatements(WatchDog watchdog, BasicBlock basicBlock, Statements statements, Statements jumps) -
makeExpression
protected Expression makeExpression(WatchDog watchdog, BasicBlock basicBlock, Statements statements, Statements jumps) -
parseSwitch
protected void parseSwitch(WatchDog watchdog, BasicBlock basicBlock, Statements statements, Statements jumps) -
parseTry
protected void parseTry(WatchDog watchdog, BasicBlock basicBlock, Statements statements, Statements jumps, boolean jsr, boolean eclipse) -
removeExceptionReference
-
parseJSR
protected void parseJSR(WatchDog watchdog, BasicBlock basicBlock, Statements statements, Statements jumps) -
parseIf
protected void parseIf(WatchDog watchdog, BasicBlock basicBlock, Statements statements, Statements jumps) -
parseLoop
protected void parseLoop(WatchDog watchdog, BasicBlock basicBlock, Statements statements, Statements jumps) -
countStartLoop
-
createDoWhileContinue
-
changeEndLoopToStartLoop
-
parseTernaryOperator
protected Expression parseTernaryOperator(int lineNumber, Expression condition, Expression exp1, Expression exp2) -
newTernaryOperatorExpression
protected TernaryOperatorExpression newTernaryOperatorExpression(int lineNumber, Expression condition, Expression expressionTrue, Expression expressionFalse) -
getTernaryOperatorExpressionType
-
checkFieldReference
-
createObjectTypeReferenceDotClassExpression
protected Expression createObjectTypeReferenceDotClassExpression(int lineNumber, String fieldName, MethodInvocationExpression mie) -
parseByteCode
-
replacePreOperatorWithPostOperator
-
updateJumpStatements
-