本文整理汇总了C#中EmitContext.EmitModule方法的典型用法代码示例。如果您正苦于以下问题:C# EmitContext.EmitModule方法的具体用法?C# EmitContext.EmitModule怎么用?C# EmitContext.EmitModule使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EmitContext
的用法示例。
在下文中一共展示了EmitContext.EmitModule方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Compile
public int Compile()
{
int errorCount = 0;
errorCount += Parse();
if (errorCount != 0)
return errorCount;
errorCount += Resolve();
if (errorCount != 0)
return errorCount;
errorCount += Lower();
if (errorCount != 0)
return errorCount;
var outputHeaderName = string.Format("{0}.h", OutputPrefix);
var outputSourceName = string.Format("{0}.cpp", OutputPrefix);
var emitTarget = new EmitTargetCPP();
var emitContext = new EmitContext {
OutputName = OutputPrefix,
Target = emitTarget,
Identifiers = Identifiers,
Diagnostics = Diagnostics, };
var emitModule = (EmitModuleCPP) emitContext.EmitModule(_midModule);
errorCount += Diagnostics.Flush(System.Console.Error);
if( errorCount != 0 )
return errorCount;
using (var headerWriter = new System.IO.StreamWriter(
outputHeaderName, false, Encoding.ASCII))
{
emitModule.HeaderSpan.Dump(headerWriter);
}
using (var sourceWriter = new System.IO.StreamWriter(
outputSourceName, false, Encoding.ASCII))
{
emitModule.SourceSpan.Dump(sourceWriter);
}
errorCount += Diagnostics.Flush(System.Console.Error);
return errorCount;
}