public class LiteralFolding
extends java.lang.Object
Constructor and Description |
---|
LiteralFolding() |
Modifier and Type | Method and Description |
---|---|
private static java.lang.Double |
computeLiteral(double l,
ArithOp op) |
private static java.lang.Double |
computeLiteral(double l,
double r,
ArithOp op) |
private static java.lang.Float |
computeLiteral(float l,
ArithOp op) |
private static java.lang.Float |
computeLiteral(float l,
float r,
ArithOp op) |
private static java.lang.Integer |
computeLiteral(int l,
ArithOp op) |
private static java.lang.Integer |
computeLiteral(int l,
int r,
ArithOp op) |
private static java.lang.Long |
computeLiteral(long l,
ArithOp op) |
private static java.lang.Long |
computeLiteral(long l,
long r,
ArithOp op) |
private static TypedLiteral |
computeLiteral(RawJavaType type,
TypedLiteral l,
ArithOp op) |
private static TypedLiteral |
computeLiteral(RawJavaType type,
TypedLiteral l,
TypedLiteral r,
ArithOp op) |
static Literal |
foldArithmetic(RawJavaType returnType,
Literal l,
ArithOp op) |
static Literal |
foldArithmetic(RawJavaType returnType,
Literal l,
Literal r,
ArithOp op)
Fold an arithmetic operations.
|
static Literal |
foldCast(Literal val,
RawJavaType returnType) |
private static TypedLiteral |
getCast(TypedLiteral val,
RawJavaType fromType,
RawJavaType returnType) |
private static RawJavaType |
getRawType(Literal l) |
public static Literal foldArithmetic(RawJavaType returnType, Literal l, Literal r, ArithOp op)
private static TypedLiteral computeLiteral(RawJavaType type, TypedLiteral l, TypedLiteral r, ArithOp op)
private static java.lang.Double computeLiteral(double l, double r, ArithOp op)
private static java.lang.Float computeLiteral(float l, float r, ArithOp op)
private static java.lang.Long computeLiteral(long l, long r, ArithOp op)
private static java.lang.Integer computeLiteral(int l, int r, ArithOp op)
public static Literal foldArithmetic(RawJavaType returnType, Literal l, ArithOp op)
private static TypedLiteral computeLiteral(RawJavaType type, TypedLiteral l, ArithOp op)
private static java.lang.Double computeLiteral(double l, ArithOp op)
private static java.lang.Float computeLiteral(float l, ArithOp op)
private static java.lang.Long computeLiteral(long l, ArithOp op)
private static java.lang.Integer computeLiteral(int l, ArithOp op)
public static Literal foldCast(Literal val, RawJavaType returnType)
private static TypedLiteral getCast(TypedLiteral val, RawJavaType fromType, RawJavaType returnType)
private static RawJavaType getRawType(Literal l)