/** * Builds a new {@link SwitchCase} instance. * * @param expr * the case expression * @return a new switch case statement */ public SwitchCase case0(Expression expr) { final SwitchCase sc = ast.newSwitchCase(); sc.setExpression(expr); return sc; }
private static SwitchCase[] createSwitchCaseStatements(AST ast, ASTRewrite rewrite, List<Expression> caseExpressions) { int len= (caseExpressions.size() == 0) ? 1 : caseExpressions.size(); SwitchCase[] switchCaseStatements= new SwitchCase[len]; if (caseExpressions.size() == 0) { switchCaseStatements[0]= ast.newSwitchCase(); switchCaseStatements[0].setExpression(null); } else { for (int i= 0; i < caseExpressions.size(); i++) { ASTNode astNode= caseExpressions.get(i); switchCaseStatements[i]= ast.newSwitchCase(); switchCaseStatements[i].setExpression((Expression) rewrite.createCopyTarget(astNode)); } } return switchCaseStatements; }
private static SwitchCase[] createSwitchCaseStatements(AST ast, ASTRewrite rewrite, List<Expression> caseExpressions) { int len= (caseExpressions.size() == 0) ? 1 : caseExpressions.size(); SwitchCase[] switchCaseStatements= new SwitchCase[len]; if (caseExpressions.size() == 0) { switchCaseStatements[0]= ast.newSwitchCase(); switchCaseStatements[0].setExpression(null); } else { for (int i= 0; i < caseExpressions.size(); i++) { ASTNode astNode= caseExpressions.get(i); switchCaseStatements[i]= ast.newSwitchCase(); switchCaseStatements[i].setExpression((Expression) rewrite.createCopyTarget(astNode)); } } return switchCaseStatements; }
/** * Add case to switch statement with new block for case code. * * @param expr * @return block */ private BlockBuilder newCaseBlock(Expression expr) { SwitchCase swcase = m_ast.newSwitchCase(); swcase.setExpression(expr); m_switch.statements().add(swcase); BlockBuilder block = m_source.newBlock(); m_switch.statements().add(block.getStatement()); return block; }
/** * Add default case to switch statement. * * @param stmt statement to be executed */ public void addDefault(StatementBuilderBase stmt) { SwitchCase swcase = m_ast.newSwitchCase(); m_switch.statements().add(swcase); m_switch.statements().add(stmt.getStatement()); if (isBreakNeeded(stmt.getStatement())) { m_switch.statements().add(m_ast.newBreakStatement()); } }
/** * Add case to switch statement with a number as the match value. * * @param value match value * @param stmt statement to be executed */ public void addNumberCase(String value, StatementBuilderBase stmt) { SwitchCase swcase = m_ast.newSwitchCase(); swcase.setExpression(numberLiteral(value)); m_switch.statements().add(swcase); m_switch.statements().add(stmt.getStatement()); if (isBreakNeeded(stmt.getStatement())) { m_switch.statements().add(m_ast.newBreakStatement()); } }
/** * Add case to switch statement with a named constant as the match value. * * @param name named constant * @param stmt statement to be executed */ public void addNamedCase(String name, StatementBuilderBase stmt) { SwitchCase swcase = m_ast.newSwitchCase(); swcase.setExpression(m_ast.newSimpleName(name)); m_switch.statements().add(swcase); m_switch.statements().add(stmt.getStatement()); if (isBreakNeeded(stmt.getStatement())) { m_switch.statements().add(m_ast.newBreakStatement()); } }
ListRewrite listRewrite= astRewrite.getListRewrite(switchStatement, SwitchStatement.STATEMENTS_PROPERTY); for (int i= 0; i < enumConstNames.size(); i++) { SwitchCase newSwitchCase= ast.newSwitchCase(); newSwitchCase.setExpression(ast.newName(enumConstNames.get(i))); listRewrite.insertAt(newSwitchCase, defaultIndex, null); SwitchCase newSwitchCase= ast.newSwitchCase(); newSwitchCase.setExpression(null); listRewrite.insertAt(newSwitchCase, defaultIndex, null);
private static void createMissingDefaultProposal(IInvocationContext context, SwitchStatement switchStatement, Image image, Collection<ICommandAccess> proposals) { AST ast= switchStatement.getAST(); ASTRewrite astRewrite= ASTRewrite.create(ast); ListRewrite listRewrite= astRewrite.getListRewrite(switchStatement, SwitchStatement.STATEMENTS_PROPERTY); SwitchCase newSwitchCase= ast.newSwitchCase(); newSwitchCase.setExpression(null); listRewrite.insertLast(newSwitchCase, null); listRewrite.insertLast(ast.newBreakStatement(), null); String label= CorrectionMessages.LocalCorrectionsSubProcessor_add_default_case_description; proposals.add(new ASTRewriteCorrectionProposal(label, context.getCompilationUnit(), astRewrite, IProposalRelevance.ADD_MISSING_DEFAULT_CASE, image)); }
private static void createMissingDefaultProposal(IInvocationContext context, SwitchStatement switchStatement, Image image, Collection<ICommandAccess> proposals) { AST ast= switchStatement.getAST(); ASTRewrite astRewrite= ASTRewrite.create(ast); ListRewrite listRewrite= astRewrite.getListRewrite(switchStatement, SwitchStatement.STATEMENTS_PROPERTY); SwitchCase newSwitchCase= ast.newSwitchCase(); newSwitchCase.setExpression(null); listRewrite.insertLast(newSwitchCase, null); listRewrite.insertLast(ast.newBreakStatement(), null); String label= CorrectionMessages.LocalCorrectionsSubProcessor_add_default_case_description; proposals.add(new ASTRewriteCorrectionProposal(label, context.getCompilationUnit(), astRewrite, IProposalRelevance.ADD_MISSING_DEFAULT_CASE, image)); }
ListRewrite listRewrite= astRewrite.getListRewrite(switchStatement, SwitchStatement.STATEMENTS_PROPERTY); for (int i= 0; i < enumConstNames.size(); i++) { SwitchCase newSwitchCase= ast.newSwitchCase(); newSwitchCase.setExpression(ast.newName(enumConstNames.get(i))); listRewrite.insertAt(newSwitchCase, defaultIndex, null); SwitchCase newSwitchCase= ast.newSwitchCase(); newSwitchCase.setExpression(null); listRewrite.insertAt(newSwitchCase, defaultIndex, null);