Conversation
- Added `NullabeDateRelatedPrimitives` dictionary to `IecToClrConverter` for handling date-related types. - Introduced `CreateScalarInitializer` method for scalar type initializations. - Added `IsNullableDateRelatedPrimitive` method. - Moved and privatized `IsNullablePrimitive` method in `IecToClrConverter`. - Updated `CsPlainSourceBuilder` to use `CreateScalarInitializer`. - Changed default initializers for `DateOnly` and `DateTime` in `Pocos` namespace files to `new DateOnly(1970, 1, 1)` and `new DateTime(1970, 1, 1)`. - Updated `apax-lock.json` with deprecation warnings for certain package versions. - Modified `all_primitives.g.cs` and `realmonster.g.cs` to use new default initializers for `DateOnly` and `DateTime`.
…rget ax and tia Refactor and enhance compiler options and tests Updated `Directory.Packages.props` to reformat `PackageVersion` elements and upgrade `nunit` package version. Added `TargetPlatformMoniker` property to `ICompilerOptions` interface and implemented it in `AXSharpConfig` and `Options` classes. Modified `IecToClrConverter` to handle `targetPlatformMoniker` parameter and added methods for default values based on target platform. Updated `CsPlainSourceBuilder` and `CsSourceBuilderTests` to pass `TargetPlatformMoniker`. Restructured `AXSharp.Compiler.CsTests.csproj` to simplify file inclusion and added new package references. Added `CompilerTestOptions` class and updated `CsSourceBuilderTests` to use it. Introduced `CsOnlinerSourceBuilder` class for specific platform configurations. Refactored `IxProjectTests` to be abstract and added platform-specific subclasses. Added new classes for handling various data types and configurations, including `unitsTwinController`, `AbstractMotor`, `array_declaration_class`, `class_all_primitives`, `State1Transition`, `Extended`, `ExtendsAndImplements`, `Extender`, `Extendee`, `SomeType`, `_NULL_CONTEXT`, `_NULL_CONTEXT_MULTIPLE`, `ClassWithComplexTypes`, `NoAccessModifierClass`, `ClassWithNonTraspilableMembers`, `ClassWithPragmas`, `ClassWithPrimitiveTypes`, and `ClassWithUsingDirectives`. Enhanced localization support and added methods for managing children, kids, and value tags. Marked obsolete methods with appropriate attributes. Updated project files to target multiple frameworks and added new tests to verify functionality.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refactors initializers for date related types in poco object
NullabeDateRelatedPrimitivesdictionary toIecToClrConverterfor handling date-related types.CreateScalarInitializermethod for scalar type initializations.IsNullableDateRelatedPrimitivemethod.IsNullablePrimitivemethod inIecToClrConverter.CsPlainSourceBuilderto useCreateScalarInitializer.DateOnlyandDateTimeinPocosnamespace files tonew DateOnly(1970, 1, 1)andnew DateTime(1970, 1, 1).apax-lock.jsonwith deprecation warnings for certain package versions.all_primitives.g.csandrealmonster.g.csto use new default initializers forDateOnlyandDateTime.This pull request includes several changes to the
AXSharp.compilerandAXSharp.connectorsprojects, focusing on improving the handling of nullable date-related primitives and updating package dependencies with deprecation notices.Improvements to Nullable Date-Related Primitives Handling:
src/AXSharp.compiler/src/AXSharp.Cs.Compiler/Helpers/Plain/IecToClrConverter.cs: Added a new dictionaryNullabeDateRelatedPrimitivesand a methodIsNullableDateRelatedPrimitiveto handle nullable date-related primitives. Additionally, created theCreateScalarInitializermethod to initialize these primitives with default values. [1] [2]src/AXSharp.compiler/src/AXSharp.Cs.Compiler/Plain/CsPlainSourceBuilder.cs: UpdatedCreateFieldDeclarationandCreateVariableDeclarationmethods to useCreateScalarInitializerfor initializing scalar types. [1] [2]Updates to Test Files:
src/AXSharp.compiler/tests/AXSharp.Compiler.CsTests/samples/units/expected/.g/POCO/class_all_primitives.g.cs: Changed initialization ofDateOnlyandDateTimeproperties to use specific default values.src/AXSharp.compiler/tests/AXSharp.Compiler.CsTests/samples/units/expected/.g/POCO/class_with_primitive_members.g.cs: Updated initialization ofDateOnlyandDateTimeproperties to use specific default values.src/AXSharp.compiler/tests/AXSharp.Compiler.CsTests/samples/units/expected/.g/POCO/configuration.g.cs: Modified initialization ofDateOnlyandDateTimeproperties to use specific default values.Deprecation Notices in Package Dependencies:
src/AXSharp.connectors/tests/ax-test-project/apax-lock.json: Added deprecation notices to multiple package dependencies, informing users about unsupported versions and urging them to update to newer versions. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]These changes improve the handling of nullable date-related primitives and ensure that users are aware of deprecated package versions, guiding them to update to supported versions.
closes #330