void DefineEntryPoint()
{
if (Context.Parameters.GenerateInMemory)
{
Context.GeneratedAssembly = _asmBuilder;
}
if (CompilerOutputType.Library != Parameters.OutputType)
{
Method method = ContextAnnotations.GetEntryPoint(Context);
if (null != method)
{
MethodInfo entryPoint = Context.Parameters.GenerateInMemory
? _asmBuilder.GetType(method.DeclaringType.FullName).GetMethod(method.Name, BindingFlags.Public|BindingFlags.NonPublic|BindingFlags.Static)
: GetMethodBuilder(method);
_asmBuilder.SetEntryPoint(entryPoint, (PEFileKinds)Parameters.OutputType);
}
else
{
Errors.Add(CompilerErrorFactory.NoEntryPoint());
}
}
}