Warning: session_start(): open(/var/lib/php/sessions/sess_gd91talv698cbs41t2v0ntojgt, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
scope gazelle_addVarDiscriminators.
sclass #VarDiscriminator {
S var;
O discriminator;
bool debug;
*() {}
*(S *var, O *discriminator, bool *debug) {}
SS get(SS map, LS tokC, LS tokI, RuleEngine2_MatchedRule matched) {
if (map == null) null;
S value = map.get(var);
if (value != null && !isTrue(callF(discriminator, value))) {
if (debug) print("Rejecting var: " + var + " -> " + value + " because of " + discriminator);
null;
}
ret map;
}
}
svoid gazelle_addVarDiscriminators(RuleEngine2 engine, O... _) {
bool debug = boolPar debug(_);
for (final RuleEngine2.Rule r : engine.rules)
for (Matches m : getJMatches_all("var * must satisfy *", r.comments)) {
S var = $1, discriminator = $2;
if (debug) print("Made discriminator for: " + var);
r.addMapMassager(new VarDiscriminator(var, discriminator, debug));
}
}
end scope