@Override public void visit(BreakStatement statement) { if (statement.getTarget() == replacedBreak) { replaceBy = new ContinueStatement(); replaceBy.setTarget(replacement); replaceBy.setLocation(statement.getLocation()); } }
@Override public void visit(ContinueStatement statement) { try { output.writeByte(statement.getTarget() != null && statement.getTarget().getId() != null ? 10 : 11); writeLocation(statement.getLocation()); if (statement.getTarget() != null && statement.getTarget().getId() != null) { output.writeUTF(statement.getTarget().getId()); } } catch (IOException e) { throw new IOExceptionWrapper(e); } }
@Override public void visit(ContinueStatement statement) { if (statement.getTarget() == blockToCount) { ++count; } } }
@Override public void visit(ContinueStatement statement) { IdentifiedStatement target = statement.getTarget(); if (target == null) { target = currentBlock; } incrementBlock(target); }
Statement generateJumpStatement(BasicBlock target) { if (nextBlock == target && blockMap[target.getIndex()] == null) { return null; } Decompiler.Block block = blockMap[target.getIndex()]; if (block == null) { throw new IllegalStateException("Could not find block for basic block $" + target.getIndex()); } if (target.getIndex() == indexer.nodeAt(block.end)) { BreakStatement breakStmt = new BreakStatement(); breakStmt.setLocation(currentLocation); breakStmt.setTarget(block.statement); return breakStmt; } else { ContinueStatement contStmt = new ContinueStatement(); contStmt.setLocation(currentLocation); contStmt.setTarget(block.statement); return contStmt; } } private Statement generateJumpStatement(SwitchStatement stmt, int target) {
@Override public void visit(ContinueStatement statement) { IdentifiedStatement target = statement.getTarget(); if (target == null) { target = currentContinueTarget; } WasmBlock wasmTarget = continueTargets.get(target); usedBlocks.add(wasmTarget); result = new WasmBreak(wasmTarget); result.setLocation(statement.getLocation()); }
ContinueStatement stmt = new ContinueStatement(); stmt.setLocation(readLocation(input)); stmt.setTarget(statementMap.get(input.readUTF())); return stmt; ContinueStatement stmt = new ContinueStatement(); stmt.setLocation(readLocation(input)); return stmt;
@Override public void visit(ContinueStatement statement) { try { debugEmitter.emitStatementStart(); if (statement.getLocation() != null) { pushLocation(statement.getLocation()); } writer.append("continue"); if (statement.getTarget() != null) { writer.append(' ').append(mapBlockId(statement.getTarget().getId())); } writer.append(";").softNewLine(); if (statement.getLocation() != null) { popLocation(); } } catch (IOException e) { throw new RenderingException("IO error occurred", e); } }
if (statements.get(i) instanceof ContinueStatement) { ContinueStatement continueStmt = (ContinueStatement) statements.get(i); if (continueStmt.getTarget() == statement) { statements.subList(i, statements.size()).clear(); break;
@Override public void visit(BreakStatement statement) { if (statement.getTarget() == replacedBreak) { replaceBy = new ContinueStatement(); replaceBy.setTarget(replacement); replaceBy.setLocation(statement.getLocation()); } }
@Override public void visit(ContinueStatement statement) { try { output.writeByte(statement.getTarget() != null && statement.getTarget().getId() != null ? 10 : 11); writeLocation(statement.getLocation()); if (statement.getTarget() != null && statement.getTarget().getId() != null) { output.writeUTF(statement.getTarget().getId()); } } catch (IOException e) { throw new IOExceptionWrapper(e); } }
@Override public void visit(ContinueStatement statement) { if (statement.getTarget() == blockToCount) { ++count; } } }
Statement generateJumpStatement(BasicBlock target) { if (nextBlock == target && blockMap[target.getIndex()] == null) { return null; } Decompiler.Block block = blockMap[target.getIndex()]; if (block == null) { throw new IllegalStateException("Could not find block for basic block $" + target.getIndex()); } if (target.getIndex() == indexer.nodeAt(block.end)) { BreakStatement breakStmt = new BreakStatement(); breakStmt.setLocation(currentLocation); breakStmt.setTarget(block.statement); return breakStmt; } else { ContinueStatement contStmt = new ContinueStatement(); contStmt.setLocation(currentLocation); contStmt.setTarget(block.statement); return contStmt; } } private Statement generateJumpStatement(SwitchStatement stmt, int target) {
@Override public void visit(ContinueStatement statement) { IdentifiedStatement target = statement.getTarget(); if (target == null) { target = currentContinueTarget; } WasmBlock wasmTarget = continueTargets.get(target); usedBlocks.add(wasmTarget); result = new WasmBreak(wasmTarget); result.setLocation(statement.getLocation()); }
@Override public void visit(ContinueStatement statement) { IdentifiedStatement target = statement.getTarget(); if (target == null) { target = currentBlock; } incrementBlock(target); }