General cleanup of the generator code
This commit is contained in:
@@ -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());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user