List of usage examples for org.eclipse.jdt.core.dom AST newBooleanLiteral
public BooleanLiteral newBooleanLiteral(boolean value)
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(); 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);//from w w w . j a va 2 s. co m 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:com.google.devtools.j2cpp.translate.AnonymousClassConverter.java
License:Open Source License
/** * Returns a literal node for a specified constant value. */// ww w . j a v a 2s . c o m private Expression makeLiteral(Object value, String typeName, AST ast) { Expression literal; if (value instanceof Boolean) { literal = ast.newBooleanLiteral((Boolean) value); } else if (value instanceof Character) { CharacterLiteral c = ast.newCharacterLiteral(); c.setCharValue((Character) value); literal = c; } else if (value instanceof Number) { literal = ast.newNumberLiteral(value.toString()); } else if (value instanceof String) { StringLiteral s = ast.newStringLiteral(); s.setLiteralValue((String) value); literal = s; } else { throw new AssertionError("unknown constant type"); } ITypeBinding type = ast.resolveWellKnownType(typeName); assert type != null : "unknown constant type"; Types.addBinding(literal, type); return literal; }
From source file:com.google.devtools.j2cpp.translate.DeadCodeEliminator.java
License:Open Source License
/** * Creates an Expression with a suitable zero-value for the specified type. * TODO(user): this doesn't take into account @NonNull annotations. *//*from w w w . jav a2s . co m*/ private Expression getDefaultValue(AST ast, ITypeBinding type) { if (type.isPrimitive()) { if (type.getName().equals("boolean")) { return ast.newBooleanLiteral(false); } // All primitives types except boolean can be initialized as "0". return ast.newNumberLiteral("0"); } else { return ast.newNullLiteral(); } }
From source file:com.google.devtools.j2objc.translate.ASTFactory.java
License:Apache License
private static Expression makeLiteralInternal(AST ast, Object value) { if (value instanceof Boolean) { return ast.newBooleanLiteral((Boolean) value); } else if (value instanceof Character) { CharacterLiteral c = ast.newCharacterLiteral(); c.setCharValue((Character) value); return c; } else if (value instanceof Number) { return ast.newNumberLiteral(value.toString()); } else if (value instanceof String) { StringLiteral s = ast.newStringLiteral(); s.setLiteralValue((String) value); return s; }//from www . ja v a 2 s . com throw new AssertionError("unknown constant type"); }
From source file:com.google.devtools.j2objc.translate.ASTFactory.java
License:Apache License
public static BooleanLiteral newBooleanLiteral(AST ast, boolean value) { BooleanLiteral node = ast.newBooleanLiteral(value); Types.addBinding(node, ast.resolveWellKnownType("boolean")); return node;/*from w w w . j a v a 2 s . c o m*/ }
From source file:com.halware.nakedide.eclipse.ext.annot.utils.AstUtils.java
License:Open Source License
/** * Creates an (AST) {@link Literal} expression. * /*from w ww.j a v a 2 s.co m*/ * @param ast * @param value * @return */ public static Expression createExpression(AST ast, Object value) { if (value instanceof String) { String stringValue = (String) value; StringLiteral newStringLiteral = ast.newStringLiteral(); newStringLiteral.setLiteralValue(stringValue); return newStringLiteral; } if (value instanceof Boolean) { Boolean booleanValue = (Boolean) value; return ast.newBooleanLiteral(booleanValue); } if (value instanceof Number) { Number numberValue = (Number) value; return ast.newNumberLiteral(numberValue.toString()); } if (value instanceof AstUtils.TypeLiteralValue) { AstUtils.TypeLiteralValue classHandle = (AstUtils.TypeLiteralValue) value; TypeLiteral newTypeLiteral = ast.newTypeLiteral(); Name typeName = ast.newName(classHandle.getClassName()); Type type = ast.newSimpleType(typeName); newTypeLiteral.setType(type); return newTypeLiteral; } if (value instanceof AstUtils.QualifiedNameValue) { AstUtils.QualifiedNameValue enumMember = (AstUtils.QualifiedNameValue) value; Name enumTypeName = ast.newName(enumMember.getName()); SimpleName enumMemberName = ast.newSimpleName(enumMember.getIdentifier()); return ast.newQualifiedName(enumTypeName, enumMemberName); } return ast.newNullLiteral(); }
From source file:com.halware.nakedide.eclipse.ext.annot.utils.dali.ASTTools.java
License:Open Source License
public static BooleanLiteral newBooleanLiteral(AST ast, boolean booleanValue) { BooleanLiteral booleanLiteral = ast.newBooleanLiteral(booleanValue); return booleanLiteral; }
From source file:de.crowdcode.kissmda.cartridges.simplejava.EnumGenerator.java
License:Apache License
@SuppressWarnings("unchecked") void chooseLiteralTypeAndAddToEnumConstantArguments(AST ast, EnumConstantDeclaration ec, Slot slot, Type type) { EList<ValueSpecification> valueSpecifications = slot.getValues(); for (ValueSpecification valueSpecification : valueSpecifications) { if (type.getName().equalsIgnoreCase("Integer")) { NumberLiteral numberLiteral = ast.newNumberLiteral(); numberLiteral.setToken(String.valueOf(valueSpecification.integerValue())); ec.arguments().add(numberLiteral); } else if (type.getName().equalsIgnoreCase("Long")) { NumberLiteral numberLiteral = ast.newNumberLiteral(); numberLiteral.setToken(String.valueOf(valueSpecification.integerValue()).concat("L")); ec.arguments().add(numberLiteral); } else if (type.getName().equalsIgnoreCase("Boolean")) { BooleanLiteral booleanLiteral = ast.newBooleanLiteral(valueSpecification.booleanValue()); ec.arguments().add(booleanLiteral); } else if (type.getName().equalsIgnoreCase("String")) { StringLiteral stringLiteral = ast.newStringLiteral(); stringLiteral.setLiteralValue(valueSpecification.stringValue()); ec.arguments().add(stringLiteral); }/*from w w w .j a v a 2 s . com*/ } }
From source file:de.ovgu.cide.configuration.jdt.DeleteHiddenNodesVisitor.java
License:Open Source License
private void rewriteInfix(ASTNode node, InfixExpression parent, StructuralPropertyDescriptor prop, List<ASTNode> replacements) { ASTNode defaultValue = null;/*from w w w . j a va2 s. c o m*/ AST ast = rewrite.getAST(); if (parent.getOperator() == Operator.CONDITIONAL_AND) defaultValue = ast.newBooleanLiteral(true); else if (parent.getOperator() == Operator.CONDITIONAL_OR) defaultValue = ast.newBooleanLiteral(false); else if (parent.getOperator() == Operator.PLUS || parent.getOperator() == Operator.MINUS || parent.getOperator() == Operator.LEFT_SHIFT || parent.getOperator() == Operator.RIGHT_SHIFT_SIGNED || parent.getOperator() == Operator.RIGHT_SHIFT_UNSIGNED) defaultValue = ast.newNumberLiteral("0"); if (defaultValue != null) rewrite.set(parent, prop, defaultValue, null); }
From source file:org.decojer.cavaj.utils.Annotations.java
License:Open Source License
/** * Decompile annotation default value (value or default value literal). * * @param defaultValue/*from ww w . jav a 2 s. c o m*/ * default value * @param context * context * @return expression AST Node */ @Nullable public static Expression decompileAnnotationDefaultValue(@Nullable final Object defaultValue, @Nonnull final Element context) { final AST ast = context.getCu().getAst(); if (defaultValue == null) { return null; } if (defaultValue instanceof A) { return decompileAnnotation((A) defaultValue, context); } // could be primitive array - use slow reflection if (defaultValue.getClass().isArray()) { final int size = Array.getLength(defaultValue); if (size == 1) { // single entry autoboxing return decompileAnnotationDefaultValue(Array.get(defaultValue, 0), context); } final ArrayInitializer arrayInitializer = ast.newArrayInitializer(); for (int i = 0; i < size; ++i) { final Expression expression = decompileAnnotationDefaultValue(Array.get(defaultValue, i), context); if (expression != null) { arrayInitializer.expressions().add(expression); } } return arrayInitializer; } if (defaultValue instanceof Boolean) { return ast.newBooleanLiteral((Boolean) defaultValue); } if (defaultValue instanceof Byte) { return ast.newNumberLiteral(defaultValue.toString()); } if (defaultValue instanceof Character) { final CharacterLiteral characterLiteral = ast.newCharacterLiteral(); characterLiteral.setCharValue((Character) defaultValue); return characterLiteral; } if (defaultValue instanceof T) { final TypeLiteral typeLiteral = ast.newTypeLiteral(); typeLiteral.setType(newType((T) defaultValue, context)); return typeLiteral; } if (defaultValue instanceof Double) { return ast.newNumberLiteral(defaultValue.toString() + 'D'); } if (defaultValue instanceof F) { final F f = (F) defaultValue; if (!f.isEnum()) { log.warn("Default value field must be enum!"); } return ast.newQualifiedName(newTypeName(f.getT(), context), newSimpleName(f.getName(), ast)); } if (defaultValue instanceof Float) { return ast.newNumberLiteral(defaultValue.toString() + 'F'); } if (defaultValue instanceof Integer) { return ast.newNumberLiteral(defaultValue.toString()); } if (defaultValue instanceof Long) { return ast.newNumberLiteral(defaultValue.toString() + 'L'); } if (defaultValue instanceof Short) { return ast.newNumberLiteral(defaultValue.toString()); } if (defaultValue instanceof String) { final StringLiteral stringLiteral = ast.newStringLiteral(); stringLiteral.setLiteralValue((String) defaultValue); return stringLiteral; } log.warn("Unknown member value type '" + defaultValue.getClass().getName() + "'!"); final StringLiteral stringLiteral = ast.newStringLiteral(); stringLiteral.setLiteralValue(defaultValue.toString()); return stringLiteral; }