List of usage examples for org.eclipse.jdt.core.dom DoStatement setExpression
public void setExpression(Expression expression)
From source file:java5totext.input.JDTVisitor.java
License:Open Source License
@Override public void endVisit(org.eclipse.jdt.core.dom.DoStatement node) { DoStatement element = (DoStatement) this.binding.get(node); this.initializeNode(element, node); if (this.binding.get(node.getExpression()) != null) element.setExpression((Expression) this.binding.get(node.getExpression())); if (this.binding.get(node.getBody()) != null) element.setBody((Statement) this.binding.get(node.getBody())); }
From source file:org.asup.dk.compiler.rpj.writer.JDTStatementWriter.java
License:Open Source License
@SuppressWarnings("unchecked") @Override/* ww w. j a v a 2 s . c om*/ public boolean visit(QUntil statement) { Block block = blocks.peek(); DoStatement doSt = ast.newDoStatement(); QPredicateExpression condition = expressionParser.parsePredicate(statement.getCondition()); Expression expression = buildExpression(ast, condition, CompilationContextHelper.getJavaClass(compilationUnit, condition)); doSt.setExpression(expression); block.statements().add(doSt); // body Block bodyBlock = ast.newBlock(); doSt.setBody(bodyBlock); blocks.push(bodyBlock); return super.visit(statement); }
From source file:org.decojer.cavaj.transformers.TrControlFlowStmts.java
License:Open Source License
@Nullable private Statement transformLoop(@Nonnull final Loop loop) { final BB head = loop.getHead(); boolean negate = true; switch (loop.getKind()) { case WHILE:// w w w. j av a2 s. c o m negate = false; case WHILENOT: { final IfStatement ifStatement = (IfStatement) head.getStmt(0); final WhileStatement whileStatement = setOp(getAst().newWhileStatement(), getOp(ifStatement)); final Expression expression = ifStatement.getExpression(); assert expression != null; whileStatement.setExpression(wrap(negate ? not(expression) : expression)); final E out = negate ? head.getFalseOut() : head.getTrueOut(); assert out != null; whileStatement.setBody(transformSequence(loop, out)); return whileStatement; } case DO_WHILE: negate = false; case DO_WHILENOT: { final BB last = loop.getLast(); final IfStatement ifStatement = (IfStatement) last.getFinalStmt(); assert ifStatement != null; final DoStatement doStatement = setOp(getAst().newDoStatement(), getOp(ifStatement)); final Expression expression = ifStatement.getExpression(); assert expression != null; doStatement.setExpression(wrap(negate ? not(expression) : expression)); final List<Statement> statements = ((org.eclipse.jdt.core.dom.Block) doStatement.getBody()) .statements(); assert statements != null; transformSequence(loop, head, statements); return doStatement; } case ENDLESS: { // this while statement hasn't an operation, line number is before first statement, // do { ... } while(true); wouldn't change the entry line part, always use while(true) final WhileStatement whileStatement = getAst().newWhileStatement(); whileStatement.setExpression(getAst().newBooleanLiteral(true)); whileStatement.setBody(transformSequence(loop, head)); return whileStatement; } default: log.warn(getM() + ": Unknown loop type '" + loop.getKind() + "'!"); return null; } }
From source file:org.eclipse.jdt.core.dom.ASTConverter.java
License:Open Source License
public DoStatement convert(org.eclipse.jdt.internal.compiler.ast.DoStatement statement) { DoStatement doStatement = new DoStatement(this.ast); doStatement.setSourceRange(statement.sourceStart, statement.sourceEnd - statement.sourceStart + 1); doStatement.setExpression(convert(statement.condition)); final Statement action = convert(statement.action); if (action == null) return null; doStatement.setBody(action);//w w w . j a v a 2 s . c om return doStatement; }
From source file:org.eclipse.modisco.java.discoverer.internal.io.java.JDTVisitor.java
License:Open Source License
@Override public void endVisit(final org.eclipse.jdt.core.dom.DoStatement node) { DoStatement element = (DoStatement) this.binding.get(node); initializeNode(element, node);//from w w w . j a v a2 s. c o m if (this.binding.get(node.getExpression()) != null) { element.setExpression(JDTVisitorUtils.completeExpression(this.binding.get(node.getExpression()), this)); } if (this.binding.get(node.getBody()) != null) { element.setBody((Statement) this.binding.get(node.getBody())); } }
From source file:org.smeup.sys.dk.compiler.rpj.writer.JDTStatementWriter.java
License:Open Source License
@SuppressWarnings("unchecked") @Override/*from w ww . j a v a 2 s. co m*/ public boolean visit(QUntil statement) { Block block = blocks.peek(); DoStatement doSt = ast.newDoStatement(); QLogicalExpression logicalExpression = QIntegratedLanguageExpressionFactory.eINSTANCE .createLogicalExpression(); logicalExpression.setOperator(LogicalOperator.NOT); QBlockExpression blockExpression = QIntegratedLanguageExpressionFactory.eINSTANCE.createBlockExpression(); QPredicateExpression condition = buildIterationCondition(statement.getCondition()); blockExpression.setExpression(condition); logicalExpression.setLeftOperand(blockExpression); Expression expression = JDTStatementHelper.buildExpression(ast, compilationUnit, logicalExpression, RPJContextHelper.getTargetClass(compilationUnit, logicalExpression, true)); doSt.setExpression(expression); block.statements().add(doSt); // body Block bodyBlock = ast.newBlock(); doSt.setBody(bodyBlock); blocks.push(bodyBlock); return super.visit(statement); }
From source file:org.whole.lang.java.util.JDTTransformerVisitor.java
License:Open Source License
public boolean visit(DoStatement node) { org.whole.lang.java.model.DoStatement doStm = lf.create(JavaEntityDescriptorEnum.DoStatement); acceptChild(node.getExpression());/* w w w . java 2 s . c om*/ doStm.setExpression(exp); acceptChild(node.getBody()); doStm.setBody(stm); stm = doStm; return false; }