// applyAfter :: (Pattern -> Pattern) -> Pattern -> Pattern internal static RdpPattern ApplyAfter(RdpApplyAfterHandler h, RdpPattern p) { if (p is RdpAfter) { return(After(p.LValue, h(p.RValue))); } }
public override RdpPattern ApplyAfter (RdpApplyAfterHandler handler) { // return handler (LValue).Choice (handler (RValue)); return LValue.ApplyAfter (handler).Choice (RValue.ApplyAfter (handler)); }
public override RdpPattern ApplyAfter (RdpApplyAfterHandler h) { return RdpNotAllowed.Instance; }
// applyAfter((f, p1=this), p2) public virtual RdpPattern ApplyAfter (RdpApplyAfterHandler h) { throw new Exception ("INTERNAL ERROR: should not happen. This is " + this); }
public override RdpPattern ApplyAfter (RdpApplyAfterHandler handler) { return LValue.After (handler (RValue)); }
// applyAfter :: (Pattern -> Pattern) -> Pattern -> Pattern internal static RdpPattern ApplyAfter (RdpApplyAfterHandler h, RdpPattern p) { if (p is RdpAfter) return After (p.LValue, h (p.RValue)); }