Example usage for org.eclipse.jdt.core.dom Assignment setOperator

List of usage examples for org.eclipse.jdt.core.dom Assignment setOperator

Introduction

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

Prototype

public void setOperator(Assignment.Operator assignmentOperator) 

Source Link

Document

Sets the operator of this assignment expression.

Usage

From source file:cn.ieclipse.adt.ext.jdt.SourceGenerator.java

License:Apache License

private static void rewriteOnCreate(CompilationUnit unit, String dbName, List<String> tableCreators) {
    AST ast = unit.getAST();//  ww  w .  j  av  a  2s  .c o  m
    TypeDeclaration type = (TypeDeclaration) unit.types().get(0);
    MethodDeclaration onCreate = getMethod(type, ("onCreate"), null);
    if (onCreate != null) {
        Block methodBlock = ast.newBlock();

        // mOpenHelper = new
        // InlineOpenHelper(this.getContext(),"person.db",null,1);
        Assignment a = ast.newAssignment();
        a.setOperator(Assignment.Operator.ASSIGN);

        a.setLeftHandSide(ast.newSimpleName("mOpenHelper"));

        ClassInstanceCreation cc = ast.newClassInstanceCreation();
        cc.setType(ast.newSimpleType(ast.newSimpleName("SQLiteOpenHelper")));
        ThisExpression thisExp = ast.newThisExpression();
        MethodInvocation mi = ast.newMethodInvocation();
        mi.setName(ast.newSimpleName("getContext"));
        mi.setExpression(thisExp);
        cc.arguments().add(mi);
        StringLiteral sl = ast.newStringLiteral();
        sl.setLiteralValue(dbName);

        cc.arguments().add(sl);
        cc.arguments().add(ast.newNullLiteral());
        cc.arguments().add(ast.newNumberLiteral("1"));
        a.setRightHandSide(cc);
        methodBlock.statements().add(ast.newExpressionStatement(a));

        AnonymousClassDeclaration acd = ast.newAnonymousClassDeclaration();
        cc.setAnonymousClassDeclaration(acd);
        genInnerSQLiteOpenHelper(acd, ast, tableCreators);

        a = ast.newAssignment();
        a.setOperator(Assignment.Operator.ASSIGN);

        a.setLeftHandSide(ast.newSimpleName("session"));

        ClassInstanceCreation cic = ast.newClassInstanceCreation();
        cic.setType(ast.newSimpleType(ast.newSimpleName("Session")));

        // SingleVariableDeclaration svd =
        // ast.newSingleVariableDeclaration();
        // svd.setName(ast.newSimpleName("mOpenHelper"));
        cic.arguments().add(ast.newSimpleName("mOpenHelper"));
        // vdf.setInitializer(cic);
        a.setRightHandSide(cic);
        // methodBlock.statements().add(vde);
        methodBlock.statements().add(ast.newExpressionStatement(a));

        ReturnStatement returnStmt = ast.newReturnStatement();
        returnStmt.setExpression(ast.newBooleanLiteral(true));
        methodBlock.statements().add(returnStmt);

        onCreate.setBody(methodBlock);
    }
}

From source file:cn.ieclipse.adt.ext.jdt.SourceGenerator.java

License:Apache License

private static void genInnerSQLiteOpenHelper(AnonymousClassDeclaration acd, AST ast,
        List<String> tableCreators) {
    MethodDeclaration md = ast.newMethodDeclaration();
    md.modifiers().addAll(ast.newModifiers((Modifier.PUBLIC)));
    md.setReturnType2(ast.newPrimitiveType(PrimitiveType.VOID));
    md.setName(ast.newSimpleName("onCreate"));
    SingleVariableDeclaration svd = ast.newSingleVariableDeclaration();
    svd.setName(ast.newSimpleName("db"));
    svd.setType(ast.newSimpleType(ast.newSimpleName("SQLiteDatabase")));
    md.parameters().add(svd);/*from   www .j  a  v a2s .c  o  m*/
    Block innerBlock = ast.newBlock();
    md.setBody(innerBlock);
    VariableDeclarationFragment vdf = ast.newVariableDeclarationFragment();
    vdf.setName(ast.newSimpleName("sql"));
    StringLiteral sl = ast.newStringLiteral();
    sl.setLiteralValue("");
    vdf.setInitializer(sl);
    VariableDeclarationStatement vds = ast.newVariableDeclarationStatement(vdf);
    vds.setType(ast.newSimpleType(ast.newSimpleName("String")));
    innerBlock.statements().add(vds);
    for (String creator : tableCreators) {
        String[] lines = creator.split(SourceAnalysis.LF);
        for (String line : lines) {
            Assignment a = ast.newAssignment();
            a.setOperator(Assignment.Operator.PLUS_ASSIGN);
            a.setLeftHandSide(ast.newSimpleName("sql"));
            StringLiteral temp = ast.newStringLiteral();
            temp.setLiteralValue(line);
            a.setRightHandSide(temp);
            innerBlock.statements().add(ast.newExpressionStatement(a));
        }

        MethodInvocation mi = ast.newMethodInvocation();
        mi.setName(ast.newSimpleName("execSQL"));
        mi.setExpression(ast.newSimpleName("db"));
        mi.arguments().add(ast.newSimpleName("sql"));
        innerBlock.statements().add(ast.newExpressionStatement(mi));
    }

    acd.bodyDeclarations().add(md);
    // onUpgrade
    md = ast.newMethodDeclaration();
    md.modifiers().addAll(ast.newModifiers((Modifier.PUBLIC)));
    md.setReturnType2(ast.newPrimitiveType(PrimitiveType.VOID));
    md.setName(ast.newSimpleName("onUpgrade"));
    svd = ast.newSingleVariableDeclaration();
    svd.setName(ast.newSimpleName("db"));
    svd.setType(ast.newSimpleType(ast.newSimpleName("SQLiteDatabase")));
    md.parameters().add(svd);

    svd = ast.newSingleVariableDeclaration();
    svd.setName(ast.newSimpleName("oldVersion"));
    svd.setType(ast.newPrimitiveType(PrimitiveType.INT));
    md.parameters().add(svd);

    svd = ast.newSingleVariableDeclaration();
    svd.setName(ast.newSimpleName("newVersion"));
    svd.setType(ast.newPrimitiveType(PrimitiveType.INT));
    md.parameters().add(svd);

    innerBlock = ast.newBlock();
    md.setBody(innerBlock);
    acd.bodyDeclarations().add(md);
}

From source file:com.google.devtools.j2cpp.translate.Autoboxer.java

License:Open Source License

@Override
public void endVisit(Assignment node) {
    Expression lhs = node.getLeftHandSide();
    ITypeBinding lhType = getBoxType(lhs);
    Expression rhs = node.getRightHandSide();
    ITypeBinding rhType = getBoxType(rhs);
    Assignment.Operator op = node.getOperator();
    if (op != Assignment.Operator.ASSIGN && !lhType.isPrimitive()
            && !lhType.equals(node.getAST().resolveWellKnownType("java.lang.String"))) {
        // Not a simple assignment; need to break the <operation>-WITH_ASSIGN
        // assignment apart.
        node.setOperator(Assignment.Operator.ASSIGN);
        node.setRightHandSide(box(newInfixExpression(lhs, rhs, op, lhType)));
    } else {/*from w  ww . j  a  v  a  2  s  . c om*/
        if (lhType.isPrimitive() && !rhType.isPrimitive()) {
            node.setRightHandSide(unbox(rhs));
        } else if (!lhType.isPrimitive() && rhType.isPrimitive()) {
            node.setRightHandSide(box(rhs));
        }
    }
}

From source file:com.google.devtools.j2objc.translate.ASTFactory.java

License:Apache License

public static Assignment newAssignment(AST ast, Expression lhs, Expression rhs) {
    Assignment assignment = ast.newAssignment();
    assignment.setOperator(Assignment.Operator.ASSIGN);
    assignment.setLeftHandSide(lhs);//from  w ww . java2 s  .  c o  m
    assignment.setRightHandSide(rhs);
    Types.addBinding(assignment, Types.getTypeBinding(lhs));
    return assignment;
}

From source file:com.motorola.studio.android.generateviewbylayout.codegenerators.AbstractLayoutCodeGenerator.java

License:Apache License

/**
 * Creates an assigment statement. The format follows the example:
 * //w w w  .j  a  v a2 s  . com
 * <br><br>
 * <code>Button b = (Button) v.findViewById($nodeId);</code>
 * 
 * 
 * @param node
 * @param optionalExpression if invocation was nested (e.g.: getFragmentManager())
 * @param methodToBeCalled 
 * @throws JavaModelException
 */
@SuppressWarnings("unchecked")
public void addAssignmentStatement(LayoutNode node, Expression optionalExpression, String methodToBeCalled)
        throws JavaModelException {
    SimpleName guiName;
    try {
        guiName = getNodeVariableTypeBasedOnLayoutNode(node);
    } catch (CoreException e) {
        throw new JavaModelException(e);
    }
    SimpleType guiType = onCreateDeclaration.getAST().newSimpleType(guiName);

    SimpleName method = onCreateDeclaration.getAST().newSimpleName(methodToBeCalled);
    SimpleName rId1 = onCreateDeclaration.getAST().newSimpleName(JavaViewBasedOnLayoutModifierConstants.R);
    SimpleName rId2 = onCreateDeclaration.getAST().newSimpleName(JavaViewBasedOnLayoutModifierConstants.ID);
    QualifiedName rQualified1 = onCreateDeclaration.getAST().newQualifiedName(rId1, rId2);

    SimpleName guiId = onCreateDeclaration.getAST().newSimpleName(node.getNodeId());
    QualifiedName rQualified2 = onCreateDeclaration.getAST().newQualifiedName(rQualified1, guiId);

    MethodInvocation invocation = onCreateDeclaration.getAST().newMethodInvocation();
    invocation.setName(method);
    if (optionalExpression != null) {
        invocation.setExpression(optionalExpression);
    }
    if (getCodeGeneratorData().getAssociatedType().equals(CodeGeneratorDataBasedOnLayout.TYPE.FRAGMENT)) {
        if (!node.isFragmentPlaceholder()) {
            invocation.setExpression(onCreateDeclaration.getAST()
                    .newSimpleName(getCodeGeneratorData().getJavaLayoutData().getInflatedViewName()));
        }
    }
    invocation.arguments().add(rQualified2);

    CastExpression castExpr = onCreateDeclaration.getAST().newCastExpression();
    castExpr.setExpression(invocation);
    castExpr.setType(guiType);

    Assignment assign = onCreateDeclaration.getAST().newAssignment();
    SimpleName variableId = onCreateDeclaration.getAST().newSimpleName(node.getNodeId());

    FieldAccess fieldAccess = onCreateDeclaration.getAST().newFieldAccess();
    fieldAccess.setExpression(onCreateDeclaration.getAST().newThisExpression());
    fieldAccess.setName(variableId);

    assign.setLeftHandSide(fieldAccess);
    assign.setOperator(Assignment.Operator.ASSIGN);
    assign.setRightHandSide(castExpr);

    ExpressionStatement expr = onCreateDeclaration.getAST().newExpressionStatement(assign);
    insertStatementsAtOnCreateDeclaration(expr, true);
}

From source file:de.crowdcode.kissmda.cartridges.simplejava.EnumGenerator.java

License:Apache License

/**
 * Generate constructor./*from   ww w  .j  a v a  2  s.  c o m*/
 * 
 * @param clazz
 *            UML2 class
 * @param ast
 *            JDT AST
 * @param ed
 *            EnumDeclaration JDT
 */
@SuppressWarnings("unchecked")
public void generateConstructor(Classifier clazz, AST ast, EnumDeclaration ed) {
    // Constructor
    MethodDeclaration md = ast.newMethodDeclaration();
    md.setConstructor(true);
    md.setName(ast.newSimpleName(clazz.getName()));
    md.modifiers().add(ast.newModifier(Modifier.ModifierKeyword.PRIVATE_KEYWORD));
    ed.bodyDeclarations().add(md);

    // We need to build contructor parameters for each properties
    generateContructorParameters(clazz, ast, md);

    // Content of constructor
    Block block = ast.newBlock();

    EList<Property> properties = clazz.getAttributes();
    for (Property property : properties) {
        logger.log(Level.FINE, "Class: " + clazz.getName() + " - " + "Property: " + property.getName() + " - "
                + "Property Upper: " + property.getUpper() + " - " + "Property Lower: " + property.getLower());

        // Left expression
        SimpleName simpleName = ast.newSimpleName(property.getName());
        ThisExpression thisExpression = ast.newThisExpression();
        FieldAccess fieldAccess = ast.newFieldAccess();
        fieldAccess.setName(simpleName);
        fieldAccess.setExpression(thisExpression);

        // Right expression
        SimpleName parameter = ast.newSimpleName(property.getName());

        Assignment assignment = ast.newAssignment();
        assignment.setOperator(org.eclipse.jdt.core.dom.Assignment.Operator.ASSIGN);
        assignment.setLeftHandSide(fieldAccess);
        assignment.setRightHandSide(parameter);

        // Expression
        ExpressionStatement expressionStatement = ast.newExpressionStatement(assignment);

        block.statements().add(expressionStatement);
    }

    // Set Body to MethodDeclaration
    md.setBody(block);
}

From source file:info.okoshi.visitor.AccessorsGenerateVisitor.java

License:Open Source License

/**
 * Generate setter method.<br>/*from ww  w  . ja  v  a 2 s.c o  m*/
 *
 * @param node
 *          {@link FieldDeclaration} object
 * @param ast
 *          {@link AST} object
 * @param name
 *          name of field variable
 * @return {@link MethodDeclaration} object
 */
@SuppressWarnings("unchecked")
private MethodDeclaration generateSetter(FieldDeclaration node, AST ast, String name) {
    MethodDeclaration setter = ast.newMethodDeclaration();
    if (node.getJavadoc() != null) {
        setter.setJavadoc(createSetterJavadoc(node, ast, name));
    }
    setter.modifiers().add(ast.newModifier(Modifier.ModifierKeyword.PUBLIC_KEYWORD));
    setter.setName(ast.newSimpleName("set" + StringUtils.capitalize(name)));

    SingleVariableDeclaration singleVariable = ast.newSingleVariableDeclaration();
    singleVariable.setType((Type) ASTNode.copySubtree(ast, node.getType()));
    singleVariable.setName(ast.newSimpleName(name));
    setter.parameters().add(singleVariable);

    Block block = ast.newBlock();
    Assignment assignment = ast.newAssignment();
    FieldAccess fieldAccess = ast.newFieldAccess();
    fieldAccess.setExpression(ast.newThisExpression());
    fieldAccess.setName(ast.newSimpleName(name));
    assignment.setLeftHandSide(fieldAccess);
    assignment.setOperator(Assignment.Operator.ASSIGN);
    assignment.setRightHandSide(ast.newSimpleName(name));
    block.statements().add(ast.newExpressionStatement(assignment));
    setter.setBody(block);

    return setter;
}

From source file:java5totext.input.JDTVisitor.java

License:Open Source License

@Override
public void endVisit(org.eclipse.jdt.core.dom.Assignment node) {
    Assignment element = (Assignment) this.binding.get(node);
    this.initializeNode(element, node);
    element.setOperator(node.getOperator().toString());

    if (this.binding.get(node.getLeftHandSide()) != null)
        element.setLeftHandSide((Expression) this.binding.get(node.getLeftHandSide()));
    if (this.binding.get(node.getRightHandSide()) != null)
        element.setRightHandSide((Expression) this.binding.get(node.getRightHandSide()));
}

From source file:org.autorefactor.refactoring.ASTBuilder.java

License:Open Source License

/**
 * Builds a new {@link Assignment} instance.
 *
 * @param lhs the left hand side expression
 * @param operator the assignment operator
 * @param rhs the right hand side expression
 * @return a new Block//w w w.  java 2  s.c  o  m
 */
public Assignment assign(final Expression lhs, final Assignment.Operator operator, final Expression rhs) {
    final Assignment assign = ast.newAssignment();
    assign.setLeftHandSide(lhs);
    assign.setOperator(operator);
    assign.setRightHandSide(rhs);
    return assign;
}

From source file:org.autorefactor.refactoring.rules.OperatorEnumTest.java

License:Open Source License

@Test
public void simpleTestCompareExpressions() {
    final AST ast = AST.newAST(AST.JLS4);
    final Assignment op1 = ast.newAssignment();
    op1.setOperator(Assignment.Operator.ASSIGN);
    final InfixExpression op2 = ast.newInfixExpression();
    op2.setOperator(InfixExpression.Operator.CONDITIONAL_AND);

    assertTrue(OperatorEnum.compareTo(op1, op2) < 0);

    assertEquals("Comparing unknown objects result in no decision", 0, OperatorEnum.compareTo(op1, null));
}