Skip to content

Commit b774a00

Browse files
authored
Merge pull request #482 from Inxton/fix-ixd-throws-nre-due-to-missing-analizers
Fix ixd throws nre due to missing analizers
2 parents 6c18a8b + 7ed9983 commit b774a00

7 files changed

Lines changed: 33 additions & 10 deletions

File tree

src/AXSharp.compiler/src/AXSharp.Cs.Compiler/Onliner/CsOnlinerPlainerOnlineToPlainBuilder.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,12 @@ internal void CreateAssignment(ITypeDeclaration typeDeclaration, IDeclaration de
104104
case IStringTypeDeclaration stringTypeDeclaration:
105105
AddToSource($" plain.{declaration.Name} = {declaration.Name}.LastValue;");
106106
break;
107+
default:
108+
AddToSource($"#pragma warning disable CS0612\n");
109+
AddToSource($" plain.{declaration.Name} = await {declaration.Name}.{MethodNameNoac}Async();");
110+
AddToSource($"#pragma warning restore CS0612\n");
111+
break;
112+
107113
}
108114
}
109115

src/AXSharp.compiler/src/AXSharp.Cs.Compiler/Onliner/CsOnlinerPlainerPlainToOnlineBuilder.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,11 @@ private void CreateAssignment(ITypeDeclaration typeDeclaration, IDeclaration dec
114114
AddToSource($" {declaration.Name}.LethargicWrite(plain.{declaration.Name});");
115115
AddToSource($"#pragma warning restore CS0612\n");
116116
break;
117+
default:
118+
AddToSource($"#pragma warning disable CS0612\n");
119+
AddToSource($" await this.{declaration.Name}.{MethodNameNoac}Async(plain.{declaration.Name});");
120+
AddToSource($"#pragma warning restore CS0612\n");
121+
break;
117122
}
118123
}
119124

src/AXSharp.compiler/src/AXSharp.Cs.Compiler/Onliner/CsOnlinerPlainerPlainToShadowBuilder.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,9 @@ private void CreateAssignment(ITypeDeclaration typeDeclaration, IDeclaration dec
101101
case IStringTypeDeclaration stringTypeDeclaration:
102102
AddToSource($" {declaration.Name}.Shadow = plain.{declaration.Name};");
103103
break;
104+
default:
105+
AddToSource($" await this.{declaration.Name}.{MethodName}Async(plain.{declaration.Name});");
106+
break;
104107
}
105108
}
106109

src/AXSharp.compiler/src/AXSharp.Cs.Compiler/Onliner/CsOnlinerPlainerShadowToPlainBuilder.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,9 @@ internal void CreateAssignment(ITypeDeclaration typeDeclaration, IDeclaration de
100100
case IStringTypeDeclaration stringTypeDeclaration:
101101
AddToSource($" plain.{declaration.Name} = {declaration.Name}.Shadow;");
102102
break;
103+
default:
104+
AddToSource($" plain.{declaration.Name} = await {declaration.Name}.{MethodName}Async();");
105+
break;
103106
}
104107
}
105108

src/AXSharp.compiler/src/ixd/AXSharp.ixd.csproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,10 @@
6969
<HintPath>..\..\..\apax\stc\bin\AX.Text.dll</HintPath>
7070
<Private>False</Private>
7171
</Reference>
72+
<Reference Include="AX.ST.Compiler.PluginAbstractions">
73+
<HintPath>..\..\..\apax\stc\bin\AX.ST.Compiler.PluginAbstractions.dll</HintPath>
74+
<Private>False</Private>
75+
</Reference>
7276
</ItemGroup>
7377

7478
<ItemGroup>

src/AXSharp.compiler/src/ixd/Program.cs

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,24 @@
11
// See https://aka.ms/new-console-template for more information
22
using AX.ST.Semantic;
3+
using AX.ST.Semantic.Analyzer;
34
using AX.ST.Syntax.Parser;
45
using AX.ST.Syntax.Tree;
56
using AX.Text;
67
using AX.Text.Diagnostics;
78
using AXSharp.Compiler;
89
using AXSharp.ixc_doc;
910
using AXSharp.ixc_doc.Interfaces;
11+
using AXSharp.ixc_doc.Schemas;
1012
using AXSharp.ixc_doc.Visitors;
11-
using System;
13+
using CliWrap;
1214
using CommandLine;
13-
using AXSharp.ixc_doc.Schemas;
15+
using NuGet.Packaging;
16+
using System;
17+
using System.Collections.Generic;
1418
using System.Reflection;
15-
using System.Text;
16-
using CliWrap;
17-
using System.Runtime.InteropServices;
1819
using System.Runtime.CompilerServices;
19-
using System.Collections.Generic;
20-
using NuGet.Packaging;
20+
using System.Runtime.InteropServices;
21+
using System.Text;
2122

2223
const string Logo =
2324
@"| \ /
@@ -75,9 +76,9 @@ void GenerateYamls(Options o)
7576
//Console.WriteLine($"Compiling project {axProject.ProjectInfo.Name}...");
7677
//var projectSources = axProject.Sources.Select(p => (parseTree: STParser.ParseTextAsync(p).Result, source: p));
7778

78-
var toCompile = projectSources.Select(p => p.parseTree);
79+
var toCompile = projectSources.Select(p => p.parseTree).ToList();
7980

80-
var compilation = Compilation.Create(toCompile, null, Compilation.Settings.Default).Result;
81+
var compilation = Compilation.Create(toCompile, new List<ISemanticAnalyzer>(), Compilation.Settings.Default).Result;
8182

8283
var semanticTree = compilation.Compilation.GetSemanticTree();
8384

src/AXSharp.compiler/src/ixd/Properties/launchSettings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
"profiles": {
33
"ixd": {
44
"commandName": "Project",
5-
"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\\"
5+
"commandLineArgs": "ixd -x .\\src\\abstractions\\ctrl -o .\\docfx\\apictrl\\",
6+
"workingDirectory": "c:\\W\\Develop\\gh\\inxton\\simatic-ax\\axopen.templates\\axopen\\"
67
},
78
"ixd-2": {
89
"commandName": "Project",

0 commit comments

Comments
 (0)