public DefaultGenerators( GlobalNamespaceProvider globalNamespace, IDocumentationLinker documentation, ExternalDocCommentsReader docReader, GeneratorConfig config, Logger logger) { Constant = new ConstantCodeGenerator(); Property = new PropertyCodeGenerator(this, documentation, docReader); Enum = new EnumCodeGenerator(documentation, docReader); ExplicitOffsetField = new FieldCodeGenerator(documentation, docReader, true); AutoLayoutField = new FieldCodeGenerator(documentation, docReader, false); Struct = new StructCodeGenerator(this, documentation, docReader); NativeStruct = new NativeStructCodeGenerator(this, globalNamespace); NativeInvocation = new NativeInvocationCodeGenerator(this, globalNamespace); Callable = new CallableCodeGenerator(this, documentation, docReader, globalNamespace, logger); Method = new MethodCodeGenerator(this); Function = new FunctionCodeGenerator(this); Interface = new InterfaceCodeGenerator(this, documentation, docReader, globalNamespace); Group = new GroupCodeGenerator(this, documentation, docReader); LocalInterop = new LocalInteropCodeGenerator(this); InteropMethod = new InteropMethodCodeGenerator(); ShadowCallable = new ShadowCallbackGenerator(this, globalNamespace); ReverseCallableProlog = new ReverseCallablePrologCodeGenerator(this, globalNamespace); Vtbl = new VtblGenerator(this, globalNamespace); Shadow = new ShadowGenerator(this, globalNamespace); Marshalling = new MarshallingRegistry(globalNamespace, logger); Config = config; }
public InterfaceCodeGenerator(IGeneratorRegistry generators, IDocumentationLinker documentation, ExternalDocCommentsReader docReader, GlobalNamespaceProvider globalNamespace, Logger logger) : base(documentation, docReader) { Generators = generators; this.globalNamespace = globalNamespace; this.logger = logger; }
public StructCodeGenerator(IGeneratorRegistry generators, IDocumentationLinker documentation, ExternalDocCommentsReader docReader) : base(documentation, docReader) { Generators = generators; }
public RoslynGenerator(Logger logger, GlobalNamespaceProvider globalNamespace, IDocumentationLinker documentation, ExternalDocCommentsReader docReader) { Logger = logger; this.globalNamespace = globalNamespace; Generators = new DefaultGenerators(globalNamespace, documentation, docReader, logger); }
private void GenerateCode(IDocumentationLinker docAggregator, CsAssembly asm, ExternalDocCommentsReader docCommentsReader) { var generator = new RoslynGenerator(Logger, GlobalNamespace, docAggregator, docCommentsReader, new GeneratorConfig { Platforms = PlatformDetectionType.Any }); generator.Run(asm, _generatedPath, GeneratedCodeFolder); // Update check files for all assemblies var processTime = DateTime.Now; File.WriteAllText(Path.Combine(IntermediateOutputPath, asm.CheckFileName), ""); File.SetLastWriteTime(Path.Combine(IntermediateOutputPath, asm.CheckFileName), processTime); }
public EnumCodeGenerator(IDocumentationLinker documentation, ExternalDocCommentsReader docReader) : base(documentation, docReader) { }
public FieldCodeGenerator(IDocumentationLinker documentation, ExternalDocCommentsReader docReader, bool explicitLayout) : base(documentation, docReader) { this.explicitLayout = explicitLayout; }
public GroupCodeGenerator(IGeneratorRegistry generators, IDocumentationLinker documentation, ExternalDocCommentsReader reader) : base(documentation, reader) { Generators = generators; }
public CallableCodeGenerator(IGeneratorRegistry generators, IDocumentationLinker documentation, ExternalDocCommentsReader docReader, GlobalNamespaceProvider globalNamespace) : base(documentation, docReader) { Generators = generators; this.globalNamespace = globalNamespace; }
public RoslynGenerator(Logger logger, GlobalNamespaceProvider globalNamespace, IDocumentationLinker documentation, ExternalDocCommentsReader docReader, GeneratorConfig config) { this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); generators = new DefaultGenerators(globalNamespace, documentation, docReader, config, logger); }
protected MemberCodeGeneratorBase(IDocumentationLinker documentation, ExternalDocCommentsReader docReader) { docAggregator = documentation; this.docReader = docReader; }
private void GenerateCode(IDocumentationLinker docAggregator, CsSolution solution, ExternalDocCommentsReader docCommentsReader) { var generator = new RoslynGenerator(Logger, GlobalNamespace, docAggregator, docCommentsReader); generator.Run(solution, _generatedPath, GeneratedCodeFolder, IncludeAssemblyNameFolder); // Update check files for all assemblies var processTime = DateTime.Now; foreach (CsAssembly assembly in solution.Assemblies) { File.WriteAllText(Path.Combine(IntermediateOutputPath, assembly.CheckFileName), ""); File.SetLastWriteTime(Path.Combine(IntermediateOutputPath, assembly.CheckFileName), processTime); } }