public MixinEvaluationResult(MixinDefinition mixin, MixinCall call, Scope closure, MixinGuardScope guardScope) { this.mixin = mixin; this.call = call; this.closure = closure; this.guardScope = guardScope; }
public bool Guard(EvaluationContext context, MixinGuardScope guardScope) { if (guard == null) { return(true); } return(guard.SatisfiedBy(context, guardScope)); }
public override bool SatisfiedBy(EvaluationContext context, MixinGuardScope guardScope) { if (!conditions.SatisfiedBy(context)) { return(false); } guardScope.SetConditionGuard(); return(true); }
public override bool SatisfiedBy(EvaluationContext context, MixinGuardScope guardScope) { if (guardScope.DefaultGuardMatched) { throw new EvaluationException("Ambiguous use of default()"); } if (guardScope.ConditionGuardMatched) { return(false); } guardScope.SetDefaultGuard(); return(true); }
public abstract bool SatisfiedBy(EvaluationContext context, MixinGuardScope guardScope);