General cleanup of the generator code

This commit is contained in:
Samuele Lorefice
2025-01-23 16:23:09 +01:00
parent 31690354f8
commit b7cd60e4cf

View File

@@ -16,15 +16,14 @@ namespace CodeGenerator {
using CThisRefExp = CodeThisReferenceExpression;
using CFieldRefExp = CodeFieldReferenceExpression;
public class Program {
public static BlendFile blendfile;
private static StringBuilder sb = new();
public static class Program {
private static BlendFile blendfile;
private static readonly StringBuilder sb = new();
private const string OutPath = @"GeneratedOutput\";
private const string Namespace = "BlendFile";
private static readonly string[] AdaptedTypes = new[] { "uchar" };
private static HashSet<string> customTypes;
public static void Log(string message) {
private static void Log(string message) {
sb.AppendLine(message);
Console.WriteLine(message);
}
@@ -36,8 +35,7 @@ namespace CodeGenerator {
Log("Generating C# code...");
Log("Pass 1: Generating types");
CodeNamespace rootNs;
CodeNamespace ns = GenerateTypes(out rootNs);
CodeNamespace ns = GenerateTypes(out var rootNs);
Log("Pass 2: Writing out code");
OutputCodeFiles(ns);
@@ -369,7 +367,7 @@ namespace CodeGenerator {
return cmf;
}
public static CodeExpression GenerateArrayInitExpression(CodeTypeReference type, IEnumerable<int> dimensions) {
private static CodeExpression GenerateArrayInitExpression(CodeTypeReference type, IEnumerable<int> dimensions) {
var dimValues = dimensions as int[] ?? dimensions.ToArray();
string dims = string.Concat(dimValues.Take(dimValues.Count() - 1).Select(d => $"{d},"));
dims += dimValues.Last();
@@ -377,8 +375,9 @@ namespace CodeGenerator {
}
private static CodeTypeConstructor GenerateStaticConstructor(CodeTypeDeclaration ctd) {
CodeTypeConstructor ctc = new CodeTypeConstructor();
ctc.Attributes = MemberAttributes.Static;
CodeTypeConstructor ctc = new CodeTypeConstructor {
Attributes = MemberAttributes.Static
};
ctc.Statements.AddRange(ctd.Members
.OfType<CodeMemberField>()
.Where(f => f.Type.ArrayRank > 0)
@@ -409,8 +408,9 @@ namespace CodeGenerator {
.OfType<CodeMemberField>()
.Select(f =>
{
var cpde = new CParamDeclExp(f.Type, f.Name);
cpde.Direction = FieldDirection.In;
var cpde = new CParamDeclExp(f.Type, f.Name) {
Direction = FieldDirection.In
};
return cpde;
}).ToArray());