Example usage for org.eclipse.jdt.core.dom AST newBooleanLiteral

List of usage examples for org.eclipse.jdt.core.dom AST newBooleanLiteral

Introduction

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

Prototype

public BooleanLiteral newBooleanLiteral(boolean value) 

Source Link

Document

Creates and returns a new unparented boolean literal node.

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();
    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;
}