From 012619a92c7ae1d9d601c32239f9ccd7b0c12404 Mon Sep 17 00:00:00 2001 From: Mikhail Mitrofanov Date: Mon, 24 Mar 2025 10:37:19 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D1=8C=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B0=D1=82?= =?UTF-8?q?=D1=8C=20=D0=B4=D0=BE=D1=81=D1=82=D1=83=D0=BF=20=D0=BA=20=D1=88?= =?UTF-8?q?=D0=B0=D0=B1=D0=BB=D0=BE=D0=BD=D0=B0=D0=BC=20=D1=87=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D0=B7=20=D0=B2=D1=81=D1=82=D1=80=D0=BE=D0=B5=D0=BD=D0=BD?= =?UTF-8?q?=D1=8B=D0=B9=20=D1=80=D0=B5=D1=81=D1=83=D1=80=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Codegen.Basic.csproj | 6 ++-- {BasicDemo => Codegen.Basic}/Program.cs | 4 ++- .../exampleTemplate.cstmpl | 0 mROA.Codegen/MethodRepo.cstmpl | 32 +++++++++++++++++++ mROA.Codegen/mROA.Codegen.csproj | 5 ++- mROA.Codegen/test.tpt | 1 - mROA.CodegenTools/DefineTemplateSection.cs | 2 +- .../Reading/InnerTemplateSectionReader.cs | 3 +- mROA.CodegenTools/Reading/TemplateReader.cs | 11 +++++++ mROA.sln | 2 +- 10 files changed, 58 insertions(+), 8 deletions(-) rename BasicDemo/BasicDemo.csproj => Codegen.Basic/Codegen.Basic.csproj (72%) rename {BasicDemo => Codegen.Basic}/Program.cs (84%) rename {BasicDemo => Codegen.Basic}/exampleTemplate.cstmpl (100%) create mode 100644 mROA.Codegen/MethodRepo.cstmpl delete mode 100644 mROA.Codegen/test.tpt diff --git a/BasicDemo/BasicDemo.csproj b/Codegen.Basic/Codegen.Basic.csproj similarity index 72% rename from BasicDemo/BasicDemo.csproj rename to Codegen.Basic/Codegen.Basic.csproj index a7f0773..45c45ba 100644 --- a/BasicDemo/BasicDemo.csproj +++ b/Codegen.Basic/Codegen.Basic.csproj @@ -5,6 +5,7 @@ net9.0 enable enable + BasicDemo @@ -12,9 +13,10 @@ - + + Always - + diff --git a/BasicDemo/Program.cs b/Codegen.Basic/Program.cs similarity index 84% rename from BasicDemo/Program.cs rename to Codegen.Basic/Program.cs index f23151f..de86019 100644 --- a/BasicDemo/Program.cs +++ b/Codegen.Basic/Program.cs @@ -18,6 +18,8 @@ using mROA.CodegenTools; // doc.Insert("insert", "inserted text by insert template => "); // doc.Parts.Add(new DefineTemplateSection("post added", "post", doc)); // Console.WriteLine(doc.Compile()); +var doc = TemplateReader.FromEmbeddedResource("exampleTemplate.cstmpl"); +doc.Insert("ctorInserting", "test inserting"); +Console.WriteLine(doc.Compile()); -var doc = TemplateReader.Parce(File.ReadAllText("exampleTemplate.cstmpl")); Console.WriteLine(doc.Parts.Count); \ No newline at end of file diff --git a/BasicDemo/exampleTemplate.cstmpl b/Codegen.Basic/exampleTemplate.cstmpl similarity index 100% rename from BasicDemo/exampleTemplate.cstmpl rename to Codegen.Basic/exampleTemplate.cstmpl diff --git a/mROA.Codegen/MethodRepo.cstmpl b/mROA.Codegen/MethodRepo.cstmpl new file mode 100644 index 0000000..2c52517 --- /dev/null +++ b/mROA.Codegen/MethodRepo.cstmpl @@ -0,0 +1,32 @@ +// +using System.Collections.Generic; +using System.Reflection; +using mROA.Abstract; +using mROA.Implementation; +using System; +using System.Threading; + +namespace mROA.Codegen +{ + public class CoCodegenMethodRepository : IMethodRepository + { + private readonly List _methods = new () { + + }; + + public IMethodInvoker GetMethod(int id) + { + if (id == -1) + return mROA.Implementation.MethodInvoker.Dispose; + + if (_methods.Count <= id) + return null; + + return _methods[id]; + } + + public void Inject(T dependency) + { + } + } +} \ No newline at end of file diff --git a/mROA.Codegen/mROA.Codegen.csproj b/mROA.Codegen/mROA.Codegen.csproj index c9257fd..658a3e6 100644 --- a/mROA.Codegen/mROA.Codegen.csproj +++ b/mROA.Codegen/mROA.Codegen.csproj @@ -34,7 +34,10 @@ - + + + + diff --git a/mROA.Codegen/test.tpt b/mROA.Codegen/test.tpt deleted file mode 100644 index c53ad17..0000000 --- a/mROA.Codegen/test.tpt +++ /dev/null @@ -1 +0,0 @@ -test text \ No newline at end of file diff --git a/mROA.CodegenTools/DefineTemplateSection.cs b/mROA.CodegenTools/DefineTemplateSection.cs index f80b799..5226cac 100644 --- a/mROA.CodegenTools/DefineTemplateSection.cs +++ b/mROA.CodegenTools/DefineTemplateSection.cs @@ -21,7 +21,7 @@ namespace mROA.CodegenTools public override string ToString() { - return $"{nameof(_tag)}: {_tag}, {nameof(StoredText)}: {StoredText}"; + return StoredText; } } } \ No newline at end of file diff --git a/mROA.CodegenTools/Reading/InnerTemplateSectionReader.cs b/mROA.CodegenTools/Reading/InnerTemplateSectionReader.cs index 39cdefe..c69038e 100644 --- a/mROA.CodegenTools/Reading/InnerTemplateSectionReader.cs +++ b/mROA.CodegenTools/Reading/InnerTemplateSectionReader.cs @@ -4,7 +4,8 @@ namespace mROA.CodegenTools { public class InnerTemplateSectionReader : LeadingTextSectionReader { - public InnerTemplateSectionReader() : base(" n.EndsWith(resourceName)); + var res = Assembly.GetCallingAssembly().GetManifestResourceStream(fileName); + var reader = new StreamReader(res); + var templateText = reader.ReadToEnd(); + return Parce(templateText); + } } } \ No newline at end of file diff --git a/mROA.sln b/mROA.sln index aac4a31..bf3763f 100644 --- a/mROA.sln +++ b/mROA.sln @@ -35,7 +35,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mROA.CodegenTools", "mROA.C EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Codegen", "Codegen", "{3DB22457-E65B-426F-B3DD-08C615132B3E}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BasicDemo", "BasicDemo\BasicDemo.csproj", "{87396E86-D7ED-4556-AB50-F3696FEF9072}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Codegen.Basic", "Codegen.Basic\Codegen.Basic.csproj", "{87396E86-D7ED-4556-AB50-F3696FEF9072}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution