Example usage for org.eclipse.jdt.core.dom NumberLiteral resolveConstantExpressionValue

List of usage examples for org.eclipse.jdt.core.dom NumberLiteral resolveConstantExpressionValue

Introduction

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

Prototype

public final Object resolveConstantExpressionValue() 

Source Link

Document

Resolves and returns the compile-time constant expression value as specified in JLS2 15.28, if this expression has one.

Usage

From source file:com.ibm.wala.cast.java.translator.jdt.JDTJava2CAstTranslator.java

License:Open Source License

private CAstNode visit(NumberLiteral n, WalkContext context) {
    return fFactory.makeConstant(n.resolveConstantExpressionValue());
}

From source file:org.evosuite.junit.TestExtractingVisitor.java

License:Open Source License

private Class<?> retrieveTypeClass(NumberLiteral numberLiteral) {
    Object value = numberLiteral.resolveConstantExpressionValue();
    if (numberLiteral.resolveBoxing()) {
        return value.getClass();
    }/*w  w w. jav  a 2 s  .c om*/
    if (value instanceof Integer) {
        return Integer.TYPE;
    }
    if (value instanceof Long) {
        return Long.TYPE;
    }
    if (value instanceof Double) {
        return Double.TYPE;
    }
    if (value instanceof Float) {
        return Float.TYPE;
    }
    if (value instanceof Short) {
        return Short.TYPE;
    }
    if (value instanceof Byte) {
        return Byte.TYPE;
    }
    throw new UnsupportedOperationException(
            "Retrieval of type " + numberLiteral.getClass() + " not implemented yet!");
}

From source file:org.evosuite.junit.TestExtractingVisitor.java

License:Open Source License

private VariableReference retrieveVariableReference(NumberLiteral numberLiteral, Class<?> numberClass) {
    Object value = numberLiteral.resolveConstantExpressionValue();
    PrimitiveStatement<?> numberAssignment = createPrimitiveStatement(numberClass, value);
    testCase.addStatement(numberAssignment);
    return numberAssignment.getReturnValue();
}

From source file:org.evosuite.junit.TestExtractingVisitor.java

License:Open Source License

private VariableReference retrieveVariableReference(PrefixExpression prefixExpr, Class<?> numberClass) {
    if (prefixExpr.getOperator() == org.eclipse.jdt.core.dom.PrefixExpression.Operator.MINUS) {
        NumberLiteral numberLiteral = (NumberLiteral) prefixExpr.getOperand();
        Number value = (Number) numberLiteral.resolveConstantExpressionValue();
        value = negate(value);// w  w  w .j  a v  a2  s. co m
        PrimitiveStatement<?> numberAssignment = createPrimitiveStatement(numberClass, value);
        testCase.addStatement(numberAssignment);
        return numberAssignment.getReturnValue();
    }
    throw new UnsupportedOperationException("Prefix " + prefixExpr + " not implemented!");
}