Examples of caseStatement


Examples of com.google.minijoe.compiler.ast.CaseStatement

          && nextToken != Token.OPERATOR_CLOSEBRACE) {
        caseStatements.addElement(parseStatement());
      }

      caseClauseVector.addElement(
          new CaseStatement(caseExpression, Util.vectorToStatementArray(caseStatements)));
    }

    readToken(Token.OPERATOR_CLOSEBRACE);

    CaseStatement[] caseClauseArray = new CaseStatement[caseClauseVector.size()];
View Full Code Here

Examples of com.google.minijoe.compiler.ast.CaseStatement

    currentBreakStatement = statement;

    String defaultLabel = "break";

    for (int i = 0; i < statement.clauses.length; i++) {
      CaseStatement cs = statement.clauses[i];
      if (cs.expression == null) {
        defaultLabel = "case" + i;
      } else {
        writeOp(JsFunction.OP_DUP);
        cs.expression.visitExpression(this);
View Full Code Here

Examples of com.google.minijoe.compiler.ast.CaseStatement

    );
    assertParserOutput(
        new SwitchStatement(
            new Identifier("something"),
            new CaseStatement[] {
              new CaseStatement(
                  null,
                  new Statement[] {
                      new ExpressionStatement(
                          new Identifier("foo")
                      )
                  }
              )
            }
        ),
        "switch (something) {default: foo;}"
    );
    assertParserOutput(
        new SwitchStatement(
            new Identifier("something"),
            new CaseStatement[] {
              new CaseStatement(
                  new NumberLiteral(0),
                  new Statement[] {
                    new ExpressionStatement(
                        new Identifier("bar")
                    )
                  }
              )
            }
        ),
        "switch (something) {case 0: bar;}"
    );
    assertParserOutput(
        new SwitchStatement(
            new Identifier("something"),
            new CaseStatement[] {
              new CaseStatement(
                  new NumberLiteral(0),
                  new Statement[] {
                    new ExpressionStatement(
                        new Identifier("bar")
                    )
                  }
              ),
              new CaseStatement(
                  new NumberLiteral(1),
                  new Statement[] {
                    new ExpressionStatement(
                        new Identifier("baz")
                    )
                  }
              )
            }
        ),
        "switch (something) {case 0: bar; case 1: baz;}"
    );
    assertParserOutput(
        new SwitchStatement(
            new Identifier("something"),
            new CaseStatement[] {
              new CaseStatement(
                  null,
                  new Statement[] {
                      new ExpressionStatement(
                          new Identifier("foo")
                      )
                  }
              ),
              new CaseStatement(
                  new NumberLiteral(0),
                  new Statement[] {
                    new ExpressionStatement(
                        new Identifier("bar")
                    )
                  }
              ),
              new CaseStatement(
                  new NumberLiteral(1),
                  new Statement[] {
                    new ExpressionStatement(
                        new Identifier("baz")
                    )
                  }
              )
            }
        ),
        "switch (something) {default: foo; case 0: bar; case 1: baz;}"
    );
    assertParserOutput(
        new SwitchStatement(
            new Identifier("something"),
            new CaseStatement[] {
              new CaseStatement(
                  new NumberLiteral(0),
                  new Statement[] {
                    new ExpressionStatement(
                        new Identifier("bar")
                    )
                  }
              ),
              new CaseStatement(
                  null,
                  new Statement[] {
                      new ExpressionStatement(
                          new Identifier("foo")
                      )
                  }
              ),
              new CaseStatement(
                  new NumberLiteral(1),
                  new Statement[] {
                    new ExpressionStatement(
                        new Identifier("baz")
                    )
                  }
              )
            }
        ),
        "switch (something) {case 0: bar; default: foo; case 1: baz;}"
    );
    assertParserOutput(
        new SwitchStatement(
            new Identifier("something"),
            new CaseStatement[] {
              new CaseStatement(
                  new NumberLiteral(0),
                  new Statement[] {
                    new ExpressionStatement(
                        new Identifier("bar")
                    )
                  }
              ),
              new CaseStatement(
                  new NumberLiteral(1),
                  new Statement[] {
                    new ExpressionStatement(
                        new Identifier("baz")
                    )
                  }
              ),
              new CaseStatement(
                  null,
                  new Statement[] {
                      new ExpressionStatement(
                          new Identifier("foo")
                      )
View Full Code Here

Examples of com.google.test.metric.cpp.dom.CaseStatement

    finished();
  }

  @Override
  public void beginCaseStatement() {
    Node node = new CaseStatement();
    parent.addChild(node);
    pushBuilder(new StatementBuilder(node));
  }
View Full Code Here

Examples of com.google.test.metric.cpp.dom.CaseStatement

  public void testSwitchStatement() throws Exception {
    TranslationUnit unit = parse("void foo() { switch (a) { case 1: break; } }");
    FunctionDefinition functionFoo = unit.getChild(0);
    SwitchStatement switchStatement = functionFoo.getChild(0);
    CaseStatement caseStatement = switchStatement.getChild(0);
    assertNotNull(caseStatement);
  }
View Full Code Here

Examples of com.google.test.metric.cpp.dom.CaseStatement

  public void testSwitchStatementWithDefault() throws Exception {
    TranslationUnit unit = parse("void foo() { switch (a) { case 1: break; default: break; } }");
    FunctionDefinition functionFoo = unit.getChild(0);
    SwitchStatement switchStatement = functionFoo.getChild(0);
    CaseStatement caseStatement = switchStatement.getChild(0);
    BreakStatement breakStatement = caseStatement.getChild(0);
    assertNotNull(breakStatement);
    DefaultStatement defaultStatement = switchStatement.getChild(1);
    breakStatement = defaultStatement.getChild(0);
    assertNotNull(breakStatement);
  }
View Full Code Here

Examples of org.allspice.structured.statement.CaseStatement

    boolean deffound = false ;
    IdentityHashMap<CaseStatement, Mark> marks = new IdentityHashMap<CaseStatement, Mark>() ;
    for(Statement s: statements) {
      if (s instanceof CaseStatement) {
        Mark mark = new Mark() ;
        CaseStatement cs = (CaseStatement)s ;
        final Expr e = cs.e;
        if (e == null) {
          labels.add(new CaseLabel(null,mark)) ;
          deffound = true ;
        }
        else {
          ConstObj constobj = newContext.getConst(e) ;
          if (constobj == null) {
            throw new NonConstCase() ;
          }
          Integer label = getIntValue(constobj) ;
          labels.add(new CaseLabel(label,mark)) ;         
        }
        marks.put(cs,mark) ;
      }
    }
    if (!deffound) {
      labels.add(new CaseLabel(null,theEnd)) ;
    }
    l.add(new LookupSwitch(labels)) ;
    for(Statement s: statements) {
      if (s instanceof CaseStatement) {
        CaseStatement cs = (CaseStatement)s ;
        Mark mark = marks.get(cs) ;
        l.add(new Nop(mark)) ;
      }
      else {
        newContext.compile(s,l) ;
View Full Code Here

Examples of org.allspice.structured.statement.CaseStatement

    public int meth(int arg0) ;
  }
  public void test1() throws Exception {
    SwitchTest obj = makeObject(SwitchTest.class,new SwitchStatement(ARG0,
        new FIFO<Statement>(
        new CaseStatement(new ConstExpr(Integer.valueOf(1),null),null),
        new ReturnStatement(new ConstExpr(Integer.valueOf(2),null),null),
        new CaseStatement(new ConstExpr(Integer.valueOf(0),null),null),
        new ReturnStatement(new ConstExpr(Integer.valueOf(0),null),null),
        new CaseStatement(new ConstExpr(Integer.valueOf(2),null),null),
        new ReturnStatement(new ConstExpr(Integer.valueOf(4),null),null),
        new CaseStatement(null,null),
        new ReturnStatement(new ConstExpr(Integer.valueOf(-1),null),null)
    ),null)) ;
    assertEquals(obj.meth(0),0) ;
    assertEquals(obj.meth(1),2) ;
    assertEquals(obj.meth(2),4) ;
View Full Code Here

Examples of org.codehaus.groovy.ast.stmt.CaseStatement

            labels[i] = new Label();
        }

        int i = 0;
        for (Iterator iter = caseStatements.iterator(); iter.hasNext(); i++) {
            CaseStatement caseStatement = (CaseStatement) iter.next();
            writeCaseStatement(caseStatement, switchVariableIndex, labels[i], labels[i + 1]);
        }

        statement.getDefaultStatement().visit(controller.getAcg());
View Full Code Here

Examples of org.codehaus.groovy.ast.stmt.CaseStatement

    public void visitSwitch(SwitchStatement statement) {
        Expression exp = statement.getExpression();
        statement.setExpression(transform(exp));
        List list = statement.getCaseStatements();
        for (Iterator iter = list.iterator(); iter.hasNext(); ) {
            CaseStatement caseStatement = (CaseStatement) iter.next();
            caseStatement.visit(this);
        }
        statement.getDefaultStatement().visit(this);
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.