本文整理汇总了Java中com.sun.codemodel.JExpression.eq方法的典型用法代码示例。如果您正苦于以下问题:Java JExpression.eq方法的具体用法?Java JExpression.eq怎么用?Java JExpression.eq使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.sun.codemodel.JExpression
的用法示例。
在下文中一共展示了JExpression.eq方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: binaryOp_int_int
import com.sun.codemodel.JExpression; //导入方法依赖的package包/类
JExpression binaryOp_int_int(Expression.BinaryOp op,
JExpression left, JExpression right)
{
switch(op.op) {
case ADD: return left.plus(right);
case SUB: return left.minus(right);
case MUL: return left.mul(right);
case DIV:
JExpression fl_right =
JExpr.cast(convertTypeToJClass_p(null, TypeFloat.I), right);
return left.div(fl_right);
case FLOORDIV:
return left.div(right);
case EQ: return left.eq(right);
case NE: return left.ne(right);
case LT: return left.lt(right);
case GT: return left.gt(right);
case LE: return left.lte(right);
case GE: return left.gte(right);
default:
return null; // handle upstream
}
}
示例2: visit
import com.sun.codemodel.JExpression; //导入方法依赖的package包/类
@Override
public JExpression visit(Expression.BinaryOp op,
JExpression left, JExpression right)
{
if (op.op.javaMethod == "cmp") {
final JExpression cmp_res =
left.invoke("compareTo").arg(right);
final JExpression cond;
switch(op.op){
case EQ: cond = cmp_res.eq(JExpr.lit(0)); break;
case NE: cond = cmp_res.ne(JExpr.lit(0)); break;
case LT: cond = cmp_res.lt(JExpr.lit(0)); break;
case GT: cond = cmp_res.gt(JExpr.lit(0)); break;
case LE: cond = cmp_res.lte(JExpr.lit(0)); break;
case GE: cond = cmp_res.gte(JExpr.lit(0)); break;
default: throw new RuntimeException();
}
return JOp.cond(cond,
TypeInt_t.staticRef("True"),
TypeInt_t.staticRef("False"));
} else {
return left.invoke(op.op.javaMethod).arg(right);
}
}
示例3: visit
import com.sun.codemodel.JExpression; //导入方法依赖的package包/类
@Override
public JExpression visit(Expression.BinaryOp op,
JExpression left, JExpression right)
{
if (op.left.type instanceof TypeInt &&
op.right.type instanceof TypeInt) {
JExpression expr = binaryOp_int_int(op, left, right);
if (expr != null)
return expr;
}
if (op.op.javaMethod == "cmp") {
final JExpression cmp_res =
left.invoke("compareTo").arg(right);
final JExpression cond;
switch(op.op){
case EQ: cond = cmp_res.eq(JExpr.lit(0)); break;
case NE: cond = cmp_res.ne(JExpr.lit(0)); break;
case LT: cond = cmp_res.lt(JExpr.lit(0)); break;
case GT: cond = cmp_res.gt(JExpr.lit(0)); break;
case LE: cond = cmp_res.lte(JExpr.lit(0)); break;
case GE: cond = cmp_res.gte(JExpr.lit(0)); break;
default: throw new RuntimeException();
}
JClass int_t = this.model.ref(TypeInt.class);
return JOp.cond(cond, int_t.staticRef("True"),
int_t.staticRef("False"));
} else {
return left.invoke(op.op.javaMethod).arg(right);
}
}
示例4: generateEvalBody
import com.sun.codemodel.JExpression; //导入方法依赖的package包/类
protected HoldingContainer generateEvalBody(ClassGenerator<?> g, HoldingContainer[] inputVariables, String body, JVar[] workspaceJVars) {
g.getEvalBlock().directStatement(String.format("//---- start of eval portion of %s function. ----//", registeredNames[0]));
JBlock sub = new JBlock(true, true);
JBlock topSub = sub;
HoldingContainer out = null;
MajorType returnValueType = returnValue.type;
// add outside null handling if it is defined.
if (nullHandling == NullHandling.NULL_IF_NULL) {
JExpression e = null;
for (HoldingContainer v : inputVariables) {
if (v.isOptional()) {
if (e == null) {
e = v.getIsSet();
} else {
e = e.mul(v.getIsSet());
}
}
}
if (e != null) {
// if at least one expression must be checked, set up the conditional.
returnValueType = returnValue.type.toBuilder().setMode(DataMode.OPTIONAL).build();
out = g.declare(returnValueType);
e = e.eq(JExpr.lit(0));
JConditional jc = sub._if(e);
jc._then().assign(out.getIsSet(), JExpr.lit(0));
sub = jc._else();
}
}
if (out == null) {
out = g.declare(returnValueType);
}
// add the subblock after the out declaration.
g.getEvalBlock().add(topSub);
JVar internalOutput = sub.decl(JMod.FINAL, g.getHolderType(returnValueType), returnValue.name, JExpr._new(g.getHolderType(returnValueType)));
addProtectedBlock(g, sub, body, inputVariables, workspaceJVars, false);
if (sub != topSub) {
sub.assign(internalOutput.ref("isSet"),JExpr.lit(1));// Assign null if NULL_IF_NULL mode
}
sub.assign(out.getHolder(), internalOutput);
if (sub != topSub) {
sub.assign(internalOutput.ref("isSet"),JExpr.lit(1));// Assign null if NULL_IF_NULL mode
}
g.getEvalBlock().directStatement(String.format("//---- end of eval portion of %s function. ----//", registeredNames[0]));
return out;
}
示例5: generateEvalBody
import com.sun.codemodel.JExpression; //导入方法依赖的package包/类
protected HoldingContainer generateEvalBody(ClassGenerator<?> g, CompleteType resolvedOutput, HoldingContainer[] inputVariables, String body, JVar[] workspaceJVars) {
g.getEvalBlock().directStatement(String.format("//---- start of eval portion of %s function. ----//", registeredNames[0]));
JBlock sub = new JBlock(true, true);
JBlock topSub = sub;
HoldingContainer out = null;
// add outside null handling if it is defined.
if (nullHandling == NullHandling.NULL_IF_NULL) {
JExpression e = null;
for (HoldingContainer v : inputVariables) {
final JExpression isNullExpr;
if (v.isReader()) {
isNullExpr = JOp.cond(v.getHolder().invoke("isSet"), JExpr.lit(1), JExpr.lit(0));
} else {
isNullExpr = v.getIsSet();
}
if (e == null) {
e = isNullExpr;
} else {
e = e.mul(isNullExpr);
}
}
if (e != null) {
// if at least one expression must be checked, set up the conditional.
out = g.declare(resolvedOutput);
e = e.eq(JExpr.lit(0));
JConditional jc = sub._if(e);
jc._then().assign(out.getIsSet(), JExpr.lit(0));
sub = jc._else();
}
}
if (out == null) {
out = g.declare(resolvedOutput);
}
// add the subblock after the out declaration.
g.getEvalBlock().add(topSub);
JVar internalOutput = sub.decl(JMod.FINAL, resolvedOutput.getHolderType(g.getModel()), getReturnName(), JExpr._new(resolvedOutput.getHolderType(g.getModel())));
addProtectedBlock(g, sub, body, inputVariables, workspaceJVars, false);
if (sub != topSub || inputVariables.length == 0) {
sub.assign(internalOutput.ref("isSet"), JExpr.lit(1));// Assign null if NULL_IF_NULL mode
}
sub.assign(out.getHolder(), internalOutput);
g.getEvalBlock().directStatement(String.format("//---- end of eval portion of %s function. ----//", registeredNames[0]));
return out;
}
示例6: generateEvalBody
import com.sun.codemodel.JExpression; //导入方法依赖的package包/类
protected HoldingContainer generateEvalBody(ClassGenerator<?> g, HoldingContainer[] inputVariables, String body,
JVar[] workspaceJVars, FieldReference ref) {
g.getEvalBlock().directStatement(String.format("//---- start of eval portion of %s function. ----//", getRegisteredNames()[0]));
JBlock sub = new JBlock(true, true);
JBlock topSub = sub;
HoldingContainer out = null;
MajorType returnValueType = getReturnType();
// add outside null handling if it is defined.
if (getNullHandling() == NullHandling.NULL_IF_NULL) {
JExpression e = null;
for (HoldingContainer v : inputVariables) {
if (v.isOptional()) {
JExpression isNullExpr;
if (v.isReader()) {
isNullExpr = JOp.cond(v.getHolder().invoke("isSet"), JExpr.lit(1), JExpr.lit(0));
} else {
isNullExpr = v.getIsSet();
}
if (e == null) {
e = isNullExpr;
} else {
e = e.mul(isNullExpr);
}
}
}
if (e != null) {
// if at least one expression must be checked, set up the conditional.
returnValueType = getReturnType().toBuilder().setMode(DataMode.OPTIONAL).build();
out = g.declare(returnValueType);
e = e.eq(JExpr.lit(0));
JConditional jc = sub._if(e);
jc._then().assign(out.getIsSet(), JExpr.lit(0));
sub = jc._else();
}
}
if (out == null) {
out = g.declare(returnValueType);
}
// add the subblock after the out declaration.
g.getEvalBlock().add(topSub);
JVar internalOutput = sub.decl(JMod.FINAL, g.getHolderType(returnValueType), getReturnValue().getName(), JExpr._new(g.getHolderType(returnValueType)));
addProtectedBlock(g, sub, body, inputVariables, workspaceJVars, false);
if (sub != topSub) {
sub.assign(internalOutput.ref("isSet"),JExpr.lit(1));// Assign null if NULL_IF_NULL mode
}
sub.assign(out.getHolder(), internalOutput);
if (sub != topSub) {
sub.assign(internalOutput.ref("isSet"),JExpr.lit(1));// Assign null if NULL_IF_NULL mode
}
g.getEvalBlock().directStatement(String.format("//---- end of eval portion of %s function. ----//", getRegisteredNames()[0]));
return out;
}