Files
sbox-public/engine/Sandbox.Compiling/Compiler/Compiler.Generator.cs
s&box team 71f266059a Open source release
This commit imports the C# engine code and game files, excluding C++ source code.

[Source-Commit: ceb3d758046e50faa6258bc3b658a30c97743268]
2025-11-24 09:05:18 +00:00

40 lines
876 B
C#

using Microsoft.CodeAnalysis.CSharp;
namespace Sandbox;
partial class Compiler
{
private Generator.Processor RunGenerators( CSharpCompilation compiler, CompilerOutput output )
{
var processor = new Generator.Processor()
{
AddonName = Name,
AddonFileMap = output.Archive.FileMap
};
if ( Group.AllowFastHotload && incrementalState.HasState )
{
processor.Run( compiler, incrementalState.Compilation, incrementalState.PreHotloadSyntaxTrees );
}
else
{
processor.Run( compiler );
}
output.Diagnostics.AddRange( processor.Diagnostics );
// Error within code generation itself
if ( processor.Exception != null )
{
Log.Error( processor.Exception, "Error when generating code" );
Sentry.SentrySdk.CaptureException( processor.Exception, scope =>
{
scope.SetTag( "group", "generator" );
} );
}
return processor;
}
}