Skip to content

Conversation

@smaillet
Copy link
Member

@smaillet smaillet commented May 4, 2020

  • Added new tests for DIBuilder (Biggest impact of nullability changes)
    • These tests have necessitated diving deep into the LLVM implementation to determine if null is truly allowed or not, with some surprising explicit allow cases.
  • Fixed bugs in nullability of parameter declarations and arg validation.
    • General pattern is for things to be not nullable if possible, and allow null for in params as needed but have a default for out or returns whenever plausible.
      • In particular, strings as out or return will be string.Empty instead of null, unless LLVM defines a semantic difference between the null and empty values. (So far there's no known case of that)
  • Simplified DOCFX projects by leveraging the under documented PackageReference 'GeneratePathProperty' to identify the root path of the package with a property

* Added new tests for DIBuilder (Biggest impact of nullability changes)
   - These tests have necessitated diving deep into the LLVM implementation to determine if null is truly allowed or not, with some surprising explicit allow cases.
* Fixed bugs in nullability of parameter declarations and arg validation.
   - General pattern is for things to be not nullable if possible, and allow null for in params as needed but have a default for out or returns whenever plausible.
      * In particular, strings as out or return will be string.Empty instead of null, unless LLVM defines a  semantic difference between the null and empty values. (So far there's no known case of that)
* Simplified DOCFX projects by leveraging the under documented PackageReference 'GeneratePathProperty' to identify the root path of the package with a property
@smaillet smaillet merged commit 60d4dad into UbiquityDotNET:develop May 4, 2020
@smaillet smaillet deleted the MoreUnitTests branch May 4, 2020 20:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant