using Microsoft.CodeAnalysis.CSharp.Syntax; using SharpGen.Model; using System; using System.Collections.Generic; using System.Text; namespace SharpGen.Generator { public interface IGeneratorRegistry { IMultiCodeGenerator Constant { get; } IMultiCodeGenerator Property { get; } IMultiCodeGenerator Enum { get; } IMultiCodeGenerator NativeStruct { get; } IMultiCodeGenerator ExplicitOffsetField { get; } IMultiCodeGenerator AutoLayoutField { get; } IMultiCodeGenerator Struct { get; } INativeCallCodeGenerator NativeInvocation { get; } IMultiCodeGenerator Callable { get; } IMultiCodeGenerator Method { get; } IMultiCodeGenerator Function { get; } IMultiCodeGenerator Interface { get; } ICodeGenerator Shadow { get; } ICodeGenerator Vtbl { get; } IMultiCodeGenerator ShadowCallable { get; } IMultiCodeGenerator<(CsCallable, InteropMethodSignature), StatementSyntax> ReverseCallableProlog { get; } IMultiCodeGenerator Group { get; } MarshallingRegistry Marshalling { get; } GeneratorConfig Config { get; } } }