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",