mirror of
https://github.com/Facepunch/sbox-public.git
synced 2025-12-24 06:58:07 -05:00
This commit imports the C# engine code and game files, excluding C++ source code. [Source-Commit: ceb3d758046e50faa6258bc3b658a30c97743268]
40 lines
876 B
C#
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;
|
|
}
|
|
}
|