ix-ax / axsharp

[This repository is for active development.] AX# binds SIMATIC AX based projects with .NET ecosystem.
https://ix-ax.github.io/axsharp/
MIT License
48 stars 11 forks source link

[BUG] Poco array fields are null #312

Closed IX-BOT closed 3 months ago

IX-BOT commented 3 months ago

We now initialize complex arrays in the poco object to prevent null ref. cxception when the POCO object is not fully initialized.

Changes:

  1. Addition of CsPlainConstructorBuilder.cs file: This new file contains the CsPlainConstructorBuilder class, which is used to build constructors for classes. It implements the ICombinedThreeVisitor interface and contains methods for creating different types of declarations and adding them to the source code. It also contains a Create method which is used to create a new instance of the CsPlainConstructorBuilder class and add the constructor to the source code.

  2. Modification of CsPlainSourceBuilder.cs file: The using AXSharp.Compiler.Cs.Onliner; directive was added to allow the CsPlainSourceBuilder class to use the CsPlainConstructorBuilder class. The CsPlainConstructorBuilder.Create method was added to the CreateClassDeclaration method, creating a new instance of the CsPlainConstructorBuilder class and adding the constructor to the source code.

  3. Addition of InstantiateArray method in Arrays.cs file: This new method is used to create a new array and initialize it with a specified initializer function and array bounds.

  4. Commenting out of array initialization in PlainersSwappingTests.cs file: The code for initializing the ArrayOfDrives array was commented out, suggesting that the array is now being initialized elsewhere, possibly in the constructor of the p object.

closes #311