Example usage for org.eclipse.jdt.core.dom WhileStatement toString

List of usage examples for org.eclipse.jdt.core.dom WhileStatement toString

Introduction

In this page you can find the example usage for org.eclipse.jdt.core.dom WhileStatement toString.

Prototype

@Override
public final String toString() 

Source Link

Document

Returns a string representation of this node suitable for debugging purposes only.

Usage

From source file:egovframework.mgt.fit.library.parser.visitor.StatementParsingVisitor.java

License:Apache License

/**
 * while ? ?  ? .//from  w w w  . j  a  va2 s  .c o m
 * @return   
 */
@Override
public boolean visit(WhileStatement node) {
    if (node.getParent().getNodeType() == parentType) {
        addSingleStatement(node.toString(), StatementLine.WHILE);
    }
    return super.visit(node);
}

From source file:org.eclipse.umlgen.reverse.java.JavaReverseCUVisitor.java

License:Open Source License

@Override
public boolean visit(WhileStatement node) {
    if (currentActivity == null) {
        return false;
    }//from  w  w  w .jav  a2  s .  co  m
    // create nodes
    MergeNode mergeNode = UMLFactory.eINSTANCE.createMergeNode();
    mergeNode.setActivity(currentActivity);
    DecisionNode decisionNode = UMLFactory.eINSTANCE.createDecisionNode();
    decisionNode.setActivity(currentActivity);

    LogUtils.logCreation(null, null, mergeNode, "Create while loop");

    // add tags
    entryNodeMap.put(node, mergeNode);
    exitNodeMap.put(node, decisionNode);
    parentStatements.add(node);
    innerExitMap.put(node, decisionNode);
    innerEntryMap.put(node, mergeNode);

    // Add name
    String name = node.toString();
    name = "While" + "_" + countLoopStatment++;
    mergeNode.setName(name + "_merge");
    decisionNode.setName(name + "_cond");

    // create flow
    ControlFlow flow = createControlFlow(decisionNode, mergeNode);
    LiteralString stringGuard = UMLFactory.eINSTANCE.createLiteralString();
    stringGuard.setValue(node.getExpression().toString());
    // flow.setGuard(stringGuard);

    flow.setName(name + "_merge_cond");

    // control Flow
    linkToLastStatement(node);
    // set this as the last statement for our children to link to it
    lastStatement = (Statement) node;

    lastGuard = stringGuard;

    // skip the expression statement
    node.getBody().accept(this);
    return false;
}