using System.Collections.Immutable; using Microsoft.CodeAnalysis; namespace Godot.SourceGenerators { public struct GodotMethodData { public GodotMethodData(IMethodSymbol method, ImmutableArray paramTypes, ImmutableArray paramTypeSymbols, MarshalType? retType) { Method = method; ParamTypes = paramTypes; ParamTypeSymbols = paramTypeSymbols; RetType = retType; } public IMethodSymbol Method { get; } public ImmutableArray ParamTypes { get; } public ImmutableArray ParamTypeSymbols { get; } public MarshalType? RetType { get; } } public struct GodotPropertyData { public GodotPropertyData(IPropertySymbol propertySymbol, MarshalType type) { PropertySymbol = propertySymbol; Type = type; } public IPropertySymbol PropertySymbol { get; } public MarshalType Type { get; } } public struct GodotFieldData { public GodotFieldData(IFieldSymbol fieldSymbol, MarshalType type) { FieldSymbol = fieldSymbol; Type = type; } public IFieldSymbol FieldSymbol { get; } public MarshalType Type { get; } } }