diff --git a/src/AXSharp.compiler/src/AXSharp.Cs.Compiler/Onliner/CsOnlinerPlainerOnlineToPlainBuilder.cs b/src/AXSharp.compiler/src/AXSharp.Cs.Compiler/Onliner/CsOnlinerPlainerOnlineToPlainBuilder.cs index ca400b60..fdb6380f 100644 --- a/src/AXSharp.compiler/src/AXSharp.Cs.Compiler/Onliner/CsOnlinerPlainerOnlineToPlainBuilder.cs +++ b/src/AXSharp.compiler/src/AXSharp.Cs.Compiler/Onliner/CsOnlinerPlainerOnlineToPlainBuilder.cs @@ -104,6 +104,12 @@ internal void CreateAssignment(ITypeDeclaration typeDeclaration, IDeclaration de case IStringTypeDeclaration stringTypeDeclaration: AddToSource($" plain.{declaration.Name} = {declaration.Name}.LastValue;"); break; + default: + AddToSource($"#pragma warning disable CS0612\n"); + AddToSource($" plain.{declaration.Name} = await {declaration.Name}.{MethodNameNoac}Async();"); + AddToSource($"#pragma warning restore CS0612\n"); + break; + } } diff --git a/src/AXSharp.compiler/src/AXSharp.Cs.Compiler/Onliner/CsOnlinerPlainerPlainToOnlineBuilder.cs b/src/AXSharp.compiler/src/AXSharp.Cs.Compiler/Onliner/CsOnlinerPlainerPlainToOnlineBuilder.cs index 81351f9a..ce6943b2 100644 --- a/src/AXSharp.compiler/src/AXSharp.Cs.Compiler/Onliner/CsOnlinerPlainerPlainToOnlineBuilder.cs +++ b/src/AXSharp.compiler/src/AXSharp.Cs.Compiler/Onliner/CsOnlinerPlainerPlainToOnlineBuilder.cs @@ -114,6 +114,11 @@ private void CreateAssignment(ITypeDeclaration typeDeclaration, IDeclaration dec AddToSource($" {declaration.Name}.LethargicWrite(plain.{declaration.Name});"); AddToSource($"#pragma warning restore CS0612\n"); break; + default: + AddToSource($"#pragma warning disable CS0612\n"); + AddToSource($" await this.{declaration.Name}.{MethodNameNoac}Async(plain.{declaration.Name});"); + AddToSource($"#pragma warning restore CS0612\n"); + break; } } diff --git a/src/AXSharp.compiler/src/AXSharp.Cs.Compiler/Onliner/CsOnlinerPlainerPlainToShadowBuilder.cs b/src/AXSharp.compiler/src/AXSharp.Cs.Compiler/Onliner/CsOnlinerPlainerPlainToShadowBuilder.cs index f8f4816f..5dbcffe3 100644 --- a/src/AXSharp.compiler/src/AXSharp.Cs.Compiler/Onliner/CsOnlinerPlainerPlainToShadowBuilder.cs +++ b/src/AXSharp.compiler/src/AXSharp.Cs.Compiler/Onliner/CsOnlinerPlainerPlainToShadowBuilder.cs @@ -101,6 +101,9 @@ private void CreateAssignment(ITypeDeclaration typeDeclaration, IDeclaration dec case IStringTypeDeclaration stringTypeDeclaration: AddToSource($" {declaration.Name}.Shadow = plain.{declaration.Name};"); break; + default: + AddToSource($" await this.{declaration.Name}.{MethodName}Async(plain.{declaration.Name});"); + break; } } diff --git a/src/AXSharp.compiler/src/AXSharp.Cs.Compiler/Onliner/CsOnlinerPlainerShadowToPlainBuilder.cs b/src/AXSharp.compiler/src/AXSharp.Cs.Compiler/Onliner/CsOnlinerPlainerShadowToPlainBuilder.cs index 623ce3e3..bf98e703 100644 --- a/src/AXSharp.compiler/src/AXSharp.Cs.Compiler/Onliner/CsOnlinerPlainerShadowToPlainBuilder.cs +++ b/src/AXSharp.compiler/src/AXSharp.Cs.Compiler/Onliner/CsOnlinerPlainerShadowToPlainBuilder.cs @@ -100,6 +100,9 @@ internal void CreateAssignment(ITypeDeclaration typeDeclaration, IDeclaration de case IStringTypeDeclaration stringTypeDeclaration: AddToSource($" plain.{declaration.Name} = {declaration.Name}.Shadow;"); break; + default: + AddToSource($" plain.{declaration.Name} = await {declaration.Name}.{MethodName}Async();"); + break; } } diff --git a/src/AXSharp.compiler/src/ixd/AXSharp.ixd.csproj b/src/AXSharp.compiler/src/ixd/AXSharp.ixd.csproj index fe7e7581..bf810021 100644 --- a/src/AXSharp.compiler/src/ixd/AXSharp.ixd.csproj +++ b/src/AXSharp.compiler/src/ixd/AXSharp.ixd.csproj @@ -69,6 +69,10 @@ ..\..\..\apax\stc\bin\AX.Text.dll False + + ..\..\..\apax\stc\bin\AX.ST.Compiler.PluginAbstractions.dll + False + diff --git a/src/AXSharp.compiler/src/ixd/Program.cs b/src/AXSharp.compiler/src/ixd/Program.cs index 8cf16f51..1bb0ebfe 100644 --- a/src/AXSharp.compiler/src/ixd/Program.cs +++ b/src/AXSharp.compiler/src/ixd/Program.cs @@ -1,5 +1,6 @@ // See https://aka.ms/new-console-template for more information using AX.ST.Semantic; +using AX.ST.Semantic.Analyzer; using AX.ST.Syntax.Parser; using AX.ST.Syntax.Tree; using AX.Text; @@ -7,17 +8,17 @@ using AXSharp.Compiler; using AXSharp.ixc_doc; using AXSharp.ixc_doc.Interfaces; +using AXSharp.ixc_doc.Schemas; using AXSharp.ixc_doc.Visitors; -using System; +using CliWrap; using CommandLine; -using AXSharp.ixc_doc.Schemas; +using NuGet.Packaging; +using System; +using System.Collections.Generic; using System.Reflection; -using System.Text; -using CliWrap; -using System.Runtime.InteropServices; using System.Runtime.CompilerServices; -using System.Collections.Generic; -using NuGet.Packaging; +using System.Runtime.InteropServices; +using System.Text; const string Logo = @"| \ / @@ -75,9 +76,9 @@ void GenerateYamls(Options o) //Console.WriteLine($"Compiling project {axProject.ProjectInfo.Name}..."); //var projectSources = axProject.Sources.Select(p => (parseTree: STParser.ParseTextAsync(p).Result, source: p)); - var toCompile = projectSources.Select(p => p.parseTree); + var toCompile = projectSources.Select(p => p.parseTree).ToList(); - var compilation = Compilation.Create(toCompile, null, Compilation.Settings.Default).Result; + var compilation = Compilation.Create(toCompile, new List(), Compilation.Settings.Default).Result; var semanticTree = compilation.Compilation.GetSemanticTree(); diff --git a/src/AXSharp.compiler/src/ixd/Properties/launchSettings.json b/src/AXSharp.compiler/src/ixd/Properties/launchSettings.json index 18323867..1b0dc39b 100644 --- a/src/AXSharp.compiler/src/ixd/Properties/launchSettings.json +++ b/src/AXSharp.compiler/src/ixd/Properties/launchSettings.json @@ -2,7 +2,8 @@ "profiles": { "ixd": { "commandName": "Project", - "commandLineArgs": "ixd -x C:\\MTS\\ix\\axsharp\\src\\AXSharp.compiler\\src\\ixd\\tests\\samples\\ax\\ -o C:\\MTS\\ix\\axsharp\\src\\AXSharp.compiler\\src\\ixd\\tests\\docfx\\docfx_project\\api\\" + "commandLineArgs": "ixd -x .\\src\\abstractions\\ctrl -o .\\docfx\\apictrl\\", + "workingDirectory": "c:\\W\\Develop\\gh\\inxton\\simatic-ax\\axopen.templates\\axopen\\" }, "ixd-2": { "commandName": "Project",