Search in sources :

Example 6 with LabeledStatement

use of com.google.devtools.j2objc.ast.LabeledStatement in project j2objc by google.

the class NilCheckResolver method visit.

@Override
public boolean visit(LabeledStatement node) {
    Statement body = node.getBody();
    if (body != null) {
        pushLabeledScope(node.getLabel().getIdentifier());
        body.accept(this);
        popAndMerge();
    }
    return false;
}
Also used : ForStatement(com.google.devtools.j2objc.ast.ForStatement) EnhancedForStatement(com.google.devtools.j2objc.ast.EnhancedForStatement) BreakStatement(com.google.devtools.j2objc.ast.BreakStatement) ContinueStatement(com.google.devtools.j2objc.ast.ContinueStatement) ThrowStatement(com.google.devtools.j2objc.ast.ThrowStatement) DoStatement(com.google.devtools.j2objc.ast.DoStatement) LabeledStatement(com.google.devtools.j2objc.ast.LabeledStatement) TryStatement(com.google.devtools.j2objc.ast.TryStatement) WhileStatement(com.google.devtools.j2objc.ast.WhileStatement) IfStatement(com.google.devtools.j2objc.ast.IfStatement) Statement(com.google.devtools.j2objc.ast.Statement) ReturnStatement(com.google.devtools.j2objc.ast.ReturnStatement) SwitchStatement(com.google.devtools.j2objc.ast.SwitchStatement)

Example 7 with LabeledStatement

use of com.google.devtools.j2objc.ast.LabeledStatement in project j2objc by google.

the class EnhancedForRewriter method replaceLoop.

private void replaceLoop(EnhancedForStatement oldLoop, Statement replacement, Statement newLoop) {
    if (oldLoop.getParent() instanceof LabeledStatement) {
        LabeledStatement labeledStmt = (LabeledStatement) oldLoop.getParent();
        labeledStmt.replaceWith(replacement);
        newLoop.replaceWith(labeledStmt);
        labeledStmt.setBody(newLoop);
    } else {
        oldLoop.replaceWith(replacement);
    }
}
Also used : LabeledStatement(com.google.devtools.j2objc.ast.LabeledStatement)

Aggregations

LabeledStatement (com.google.devtools.j2objc.ast.LabeledStatement)7 ForStatement (com.google.devtools.j2objc.ast.ForStatement)5 Statement (com.google.devtools.j2objc.ast.Statement)5 Block (com.google.devtools.j2objc.ast.Block)4 EmptyStatement (com.google.devtools.j2objc.ast.EmptyStatement)4 IfStatement (com.google.devtools.j2objc.ast.IfStatement)4 BreakStatement (com.google.devtools.j2objc.ast.BreakStatement)3 ContinueStatement (com.google.devtools.j2objc.ast.ContinueStatement)3 DoStatement (com.google.devtools.j2objc.ast.DoStatement)2 EnhancedForStatement (com.google.devtools.j2objc.ast.EnhancedForStatement)2 SimpleName (com.google.devtools.j2objc.ast.SimpleName)2 TreeVisitor (com.google.devtools.j2objc.ast.TreeVisitor)2 WhileStatement (com.google.devtools.j2objc.ast.WhileStatement)2 ReturnStatement (com.google.devtools.j2objc.ast.ReturnStatement)1 SwitchStatement (com.google.devtools.j2objc.ast.SwitchStatement)1 ThrowStatement (com.google.devtools.j2objc.ast.ThrowStatement)1 TryStatement (com.google.devtools.j2objc.ast.TryStatement)1 HashMap (java.util.HashMap)1