godot/modules/mono/glue/GodotSharp/Godot.SourceGenerators.Internal/CallbacksInfo.cs
Raul Santos 71df6d66ae
Add readonly to C# methods and types that don't mutate
Also removes a few unnecessary temp variables
2022-11-14 20:32:20 +01:00

25 lines
739 B
C#

using System.Collections.Immutable;
using System.Linq;
using Microsoft.CodeAnalysis;
namespace Godot.SourceGenerators.Internal;
internal readonly struct CallbacksData
{
public CallbacksData(INamedTypeSymbol nativeTypeSymbol, INamedTypeSymbol funcStructSymbol)
{
NativeTypeSymbol = nativeTypeSymbol;
FuncStructSymbol = funcStructSymbol;
Methods = NativeTypeSymbol.GetMembers()
.Where(symbol => symbol is IMethodSymbol { IsPartialDefinition: true })
.Cast<IMethodSymbol>()
.ToImmutableArray();
}
public INamedTypeSymbol NativeTypeSymbol { get; }
public INamedTypeSymbol FuncStructSymbol { get; }
public ImmutableArray<IMethodSymbol> Methods { get; }
}