List of usage examples for org.eclipse.jdt.core.dom Assignment setOperator
public void setOperator(Assignment.Operator assignmentOperator)
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)); }