Beispiel #1
0
 @Override
 public VarUsage count(final Var v) {
   final VarUsage inPreds = super.count(v), inRoot = root.count(v);
   if (inPreds == VarUsage.NEVER) return inRoot;
   final long sz = root.size();
   return sz >= 0 && sz <= 1 || root.type().zeroOrOne()
       ? inRoot.plus(inPreds)
       : VarUsage.MORE_THAN_ONCE;
 }
Beispiel #2
0
 @Override
 public VarUsage count(final Var var) {
   return VarUsage.sum(var, specs).plus(VarUsage.sum(var, preExpr));
 }
Beispiel #3
0
 @Override
 public VarUsage count(final Var var) {
   final VarUsage inRoot = root == null ? VarUsage.NEVER : root.count(var);
   return VarUsage.sum(var, steps) == VarUsage.NEVER ? inRoot : VarUsage.MORE_THAN_ONCE;
 }
Beispiel #4
0
 @Override
 public VarUsage count(final Var var) {
   return VarUsage.sum(var, preds);
 }