public IMethodCompilerContext Compile(IMethodCompilerContext context) { OnBeforeCompile(context); context = this.Stages.Aggregate(context, (current, stage) => stage.Run(current)); OnAfterCompile(context); return(context); }
public IMethodCompilerContext Compile(IMethodCompilerContext context) { OnBeforeCompile(context); context = this.Stages.Aggregate(context, (current, stage) => stage.Run(current)); OnAfterCompile(context); return context; }
public override IMethodCompilerContext Run(IMethodCompilerContext context) { context = base.Run(context); var acc = context.AssemblyCompilerContext as AssemblyCompilerContext; if (acc == null) return context; using (var writer = acc.GetOutputFileWriter(GetFilename(context))) { new Emitter(writer).VisitMethodDefinition(context.Method); } return context; }
public override IMethodCompilerContext Run(IMethodCompilerContext context) { context = base.Run(context); var acc = context.AssemblyCompilerContext as AssemblyCompilerContext; if (acc == null) { return(context); } using (var writer = acc.GetOutputFileWriter(GetFilename(context))) { new Emitter(writer).VisitMethodDefinition(context.Method); } return(context); }
protected virtual void OnAfterCompile(IMethodCompilerContext context) { }
protected virtual void OnBeforeCompile(IMethodCompilerContext context) { }
private static string GetFilename(IMethodCompilerContext context) { return Helper.GetRandomString(context.Method.Name + "-", 40, ".s"); }
public virtual IMethodCompilerContext Run(IMethodCompilerContext context) { return context; }
public virtual IMethodCompilerContext Run(IMethodCompilerContext context) { return(context); }
private static string GetFilename(IMethodCompilerContext context) { return(Helper.GetRandomString(context.Method.Name + "-", 40, ".s")); }