private static IActionCode GenerateActionCode(IActionCode code, ForeignAction action) { bool first = true; foreach (var binding in action.Joint.All <CilProduction>()) { if (first) { first = false; } else { // Result of this rule supersedes result of the prvious one code = code.Emit(il => il.Pop()); } code = code .Do(binding.Context.Load) .Do(binding.ActionBuilder) ; } return(code); }
private static IActionCode GenerateActionCode(IActionCode code, ForeignAction action) { bool first = true; foreach (var binding in action.Joint.All<CilProduction>()) { if (first) { first = false; } else { // Result of this rule supersedes result of the prvious one code = code.Emit(il => il.Pop()); } code = code .Do(binding.Context.Load) .Do(binding.ActionBuilder) ; } return code; }
public abstract IActionCode Load(IActionCode code);
public override IActionCode Load(IActionCode code) { return code.LdContext(UniqueName); }
public override IActionCode Load(IActionCode code) { return code; }
public override IActionCode Load(IActionCode code) { return(code.LdContext(UniqueName)); }
public override IActionCode Load(IActionCode code) { return(code); }
public abstract IActionCode Load(IActionCode code);
public static IActionCode Do(this IActionCode self, Pipe <IActionCode> builder) { return(builder(self)); }