Examples of JStatement


Examples of com.google.gwt.dev.jjs.ast.JStatement

     */
    private void removeDoubleBreaks(JSwitchStatement x) {
      JBlock body = x.getBody();
      boolean lastWasBreak = true;
      for (int i = 0; i < body.getStatements().size(); ++i) {
        JStatement statement = body.getStatements().get(i);
        boolean isBreak = isUnconditionalBreak(statement);
        if (isBreak && lastWasBreak) {
          body.removeStmt(i--);
          didChange = true;
        }
View Full Code Here

Examples of com.google.gwt.dev.jjs.ast.JStatement

         *
         * becomes if (i == 1) { a(); b(); } else { c(); d(); }
         */
        JCaseStatement caseStatement = (JCaseStatement) body.getStatements().get(
            0);
        JStatement statement = body.getStatements().get(1);

        FindBreakContinueStatementsVisitor visitor = new FindBreakContinueStatementsVisitor();
        visitor.accept(statement);
        if (visitor.hasBreakContinueStatements()) {
          // Cannot optimize.
View Full Code Here

Examples of com.google.gwt.dev.jjs.ast.JStatement

        return ifStatement(null, sourceInfo, unflipped, elseStmt, thenStmt,
            currentMethod);
      }
    }

    JStatement rewritenStatement = rewriteIfIntoBoolean(sourceInfo, condExpr,
        thenStmt, elseStmt, currentMethod);
    if (rewritenStatement != null) {
      return rewritenStatement;
    }
View Full Code Here

Examples of com.google.gwt.dev.jjs.ast.JStatement

      List<JStatement> bodyStmts = x.getBody().getStatements();
      if (bodyStmts.size() > 0) {
        List<JsStatement> curStatements = null;
        for (int i = 0; i < bodyStmts.size(); ++i) {
          JStatement stmt = bodyStmts.get(i);
          accept(stmt);
          if (stmt instanceof JCaseStatement) {
            // create a new switch member
            JsSwitchMember switchMember = (JsSwitchMember) pop(); // stmt
            jsSwitch.getCases().add(switchMember);
View Full Code Here

Examples of com.google.gwt.dev.jjs.ast.JStatement

  @Override
  public boolean visit(JBlock x, Context ctx) {
    openBlock();
    for (int i = 0; i < x.getStatements().size(); ++i) {
      JStatement statement = x.getStatements().get(i);
      needSemi = true;
      accept(statement);
      if (needSemi) {
        semi();
      }
View Full Code Here

Examples of com.google.gwt.dev.jjs.ast.JStatement

    print(CHARS_FOR);
    lparen();

    Iterator<JStatement> iter = x.getInitializers().iterator();
    if (iter.hasNext()) {
      JStatement stmt = iter.next();
      accept(stmt);
    }
    suppressType = true;
    while (iter.hasNext()) {
      print(CHARS_COMMA);
      JStatement stmt = iter.next();
      accept(stmt);
    }
    suppressType = false;

    semi();
View Full Code Here

Examples of com.google.gwt.dev.jjs.ast.JStatement

       * exception object against the type of the user's catch block.
       *
       * Go backwards so we can nest the else statements in the correct order!
       */
      // rethrow the current exception if no one caught it
      JStatement cur = new JThrowStatement(catchInfo, new JLocalRef(catchInfo,
          exVar));
      for (int i = x.getCatchBlocks().size() - 1; i >= 0; --i) {
        JBlock block = x.getCatchBlocks().get(i);
        JLocalRef arg = x.getCatchArgs().get(i);
        catchInfo = block.getSourceInfo();
View Full Code Here

Examples of com.google.gwt.dev.jjs.ast.JStatement

      newCall.addArg(new JThisRef(delegateCallSourceInfo, enclosingType));
      for (int i = 0; i < x.getParams().size(); ++i) {
        JParameter param = x.getParams().get(i);
        newCall.addArg(new JParameterRef(delegateCallSourceInfo, param));
      }
      JStatement statement;
      if (returnType == program.getTypeVoid()) {
        statement = newCall.makeStatement();
      } else {
        statement = new JReturnStatement(delegateCallSourceInfo, newCall);
      }
View Full Code Here

Examples of com.google.gwt.dev.jjs.ast.JStatement

      boolean possibleToInline = false;
      if (stmts.isEmpty()) {
        tryInlineEmptyMethodCall(x, ctx);
        possibleToInline = true;
      } else if (stmts.size() == 1) {
        JStatement stmt = (JStatement) stmts.get(0);
        if (stmt instanceof JReturnStatement) {
          possibleToInline = tryInlineExpression(x, ctx,
              ((JReturnStatement) stmt).getExpr());
        } else if (stmt instanceof JExpressionStatement) {
          possibleToInline = tryInlineExpression(x, ctx,
View Full Code Here

Examples of com.google.gwt.dev.jjs.ast.JStatement

  public class ReduceMultiVisitor extends JModVisitor {

    // @Override
    public void endVisit(JBlock x, Context ctx) {
      for (Iterator it = x.statements.iterator(); it.hasNext();) {
        JStatement stmt = (JStatement) it.next();
        // If we're a JExprStmt with no side effects, just remove me
        if (stmt instanceof JExpressionStatement) {
          JExpression expr = ((JExpressionStatement) stmt).getExpr();
          if (!expr.hasSideEffects()) {
            it.remove();
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.