本文整理汇总了Java中kodkod.ast.UnaryIntExpression.intExpr方法的典型用法代码示例。如果您正苦于以下问题:Java UnaryIntExpression.intExpr方法的具体用法?Java UnaryIntExpression.intExpr怎么用?Java UnaryIntExpression.intExpr使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类kodkod.ast.UnaryIntExpression
的用法示例。
在下文中一共展示了UnaryIntExpression.intExpr方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: visit
import kodkod.ast.UnaryIntExpression; //导入方法依赖的package包/类
public IntExpression visit(UnaryIntExpression expr) {
IntExpression ret = lookup(expr);
if (ret!=null) return ret;
final IntOperator op = expr.op();
final IntExpression child = expr.intExpr().accept(this);
ret = simplify(op, child);
if (ret==null) {
final int hash = hash(op, child);
for(Iterator<PartialCannonicalizer.Holder<IntExpression>> itr = intExprs.get(hash); itr.hasNext(); ) {
final IntExpression next = itr.next().obj;
if (next.getClass()==UnaryIntExpression.class) {
if (((UnaryIntExpression)next).intExpr()==child)
return cache(expr, next);
}
}
ret = child==expr.intExpr() ? expr : child.apply(op);
intExprs.add(new PartialCannonicalizer.Holder<IntExpression>(ret, hash));
}
return cache(expr,ret);
}
示例2: visit
import kodkod.ast.UnaryIntExpression; //导入方法依赖的package包/类
/**
* Calls lookup(intExpr) and returns the cached value, if any. If a
* replacement has not been cached, visits the expression's child. If
* nothing changes, the argument is cached and returned, otherwise a
* replacement expression is cached and returned.
*
* @return { u: UnaryIntExpression | u.expression =
* intExpr.expression.accept(delegate) && u.op = intExpr.op }
*/
public IntExpression visit(UnaryIntExpression intExpr) {
IntExpression ret = lookup(intExpr);
if (ret != null)
return ret;
final IntExpression child = intExpr.intExpr().accept(delegate);
ret = (child == intExpr.intExpr()) ? intExpr : child.apply(intExpr.op());
return cache(intExpr, ret);
}
示例3: visit
import kodkod.ast.UnaryIntExpression; //导入方法依赖的package包/类
/**
* @ensures appends the given op and child to this.tokens; the child is
* parenthesized if it's not an instance of unary int
* expression or int constant.
**/
public void visit(UnaryIntExpression node) {
final IntExpression child = node.intExpr();
final IntOperator op = node.op();
final boolean parens = (op == IntOperator.ABS) || (op == IntOperator.SGN) || parenthesize(child);
append(node.op());
visitChild(child, parens);
}
示例4: visit
import kodkod.ast.UnaryIntExpression; //导入方法依赖的package包/类
/**
* Calls lookup(intExpr) and returns the cached value, if any.
* If a replacement has not been cached, visits the expression's
* child. If nothing changes, the argument is cached and
* returned, otherwise a replacement expression is cached and returned.
* @return { u: UnaryIntExpression | u.expression = intExpr.expression.accept(this) && u.op = intExpr.op }
*/
public IntExpression visit(UnaryIntExpression intExpr) {
IntExpression ret = lookup(intExpr);
if (ret!=null) return ret;
final IntExpression child = intExpr.intExpr().accept(this);
ret = (child==intExpr.intExpr()) ? intExpr : child.apply(intExpr.op());
return cache(intExpr,ret);
}
示例5: visit
import kodkod.ast.UnaryIntExpression; //导入方法依赖的package包/类
/** @ensures appends the given op and child to this.tokens; the child is
* parenthesized if it's not an instance of unary int expression or int constant. **/
public void visit(UnaryIntExpression node) {
final IntExpression child = node.intExpr();
final IntOperator op = node.op();
final boolean parens =
(op==IntOperator.ABS) || (op==IntOperator.SGN) ||
parenthesize(child);
append(node.op());
visitChild(child, parens);
}
示例6: visit
import kodkod.ast.UnaryIntExpression; //导入方法依赖的package包/类
/** @effects appends the given op and child to this.tokens; the child is
* parenthesized if it's not an instance of unary int expression or int constant. **/
public void visit(UnaryIntExpression node) {
if (displayed(node)) return;
final boolean oldTop = notTop();
final IntExpression child = node.intExpr();
final IntOperator op = node.op();
final boolean parens =
(op==IntOperator.ABS) || (op==IntOperator.SGN) ||
parenthesize(child);
append(node.op());
visitChild(child, parens);
top = oldTop;
}
示例7: visit
import kodkod.ast.UnaryIntExpression; //导入方法依赖的package包/类
public IntExpression visit(UnaryIntExpression expr) {
IntExpression ret = lookup(expr);
if (ret!=null) return ret;
final IntOperator op = expr.op();
final IntExpression child = expr.intExpr().accept(this);
ret = simplify(op, child);
if (ret==null) {
ret = child==expr.intExpr() ? expr : child.apply(op);
}
return cache(expr,ret);
}