Skip to content

Issues with nullable value types #8

@N-b-dy

Description

@N-b-dy

Hi rogerbarton,

first of all thanks for you great job improving/providing a Sphinx domain for C#. I'm using it currently with DoxyGen and Breathe in a project and getting some issues with the nullable value types of C# 8.0 (https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/nullable-value-types).

This is an example C# code for describing the problem.

    public class ExampleClass
    {
        /// <summary>
        /// Constructor of the class.
        /// </summary>
        public ExampleClass()
        {
        }

        /// <summary>
        /// A nullable bool value.
        /// </summary>
        public bool? BNullableBool { get; set; }

        /// <summary>
        /// A nullable int value.
        /// </summary>
        public int? NNullableInt { get; set; }

        /// <summary>
        /// A nullable function.
        /// </summary>
        /// <param name="bValue">A nullable bool.</param>
        /// <returns>A nullable int.</returns>
        public int? FooBar(bool? bValue)
        {
            return null;
        }
    }

In Sphinx I'm using the following Breathe directive to create the HTML output:

    .. doxygenclass:: WpfApp1::Models::ExampleClass
        :members:

During the build I'm getting the following warnings:

WARNING: Method signature invalid: int? FooBar (bool? bValue)
WARNING: Definition list ends without a blank line; unexpected unindent.

And the output looks like this:

Breathe

The types of the properties are not getting parsed properly and also the "highlighting" of them differs from the other stuff in case of a method.

I'm not totally sure if this issue is completly solvable by this domain, but I hope you can help me.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions