Added initial and limitted support for parsing doxygen comments.

Two new IAST types are introduced. IASTDoxygenComment is a specialization of IASTComment and
contains a list of IASTDoxgenTag instances. Tag name and values are stored as plain text and no
further structure is parsed. Currently, only Javadoc like doxygen comments can be recognized. That
is, the tag must start with an '@' and the comment itself must of the form /** */.

Signed-off-by: Sebastian Bauer <mail@sebastianbauer.info>
Added DoxygenMap class for mapping AST nodes to documentation strings.

The purpose of the DoxygenMap is to map a AST node to a documentation string. This map can be built
up via a public static method given a translation unit. Currently, only two AST nodes are supported.

Signed-off-by: Sebastian Bauer <mail@sebastianbauer.info>
Refactored how we extract the documentation from the comments and map it to ASTNodes.

Signed-off-by: Sebastian Bauer <mail@sebastianbauer.info>
Extracted the interface for the DoxygenMap into a proper interface.

Signed-off-by: Sebastian Bauer <mail@sebastianbauer.info>
Introduced the extraction and the storage of doxygen-based description for C functions.

This is realized using the two new adapters to maintain API-backward compability.

The first adapter is introducd in ASTTranslationUnit class (IASTTranslationUnit interface). It can
be used to get access to the doxygen map, which maps IASTNodes to plain description strings. This is
actually used by the CFunction to find a description of the entidy.

The second new adapter is currently returned CFunction classes (the plain one and the PDOM one). It
provides access to the description of the function in a backward-compatible manner. In the PDOM, the
description string is stored as an additional record for the function.

The whole mechansim may be generalized to other types of bindings in later commits.

Signed-off-by: Sebastian Bauer <mail@sebastianbauer.info>
When finding the nearest doxygen comment, make sure that the filename also matches.

Signed-off-by: Sebastian Bauer <mail@sebastianbauer.info>
Overwrite the description also if it is empty.

Signed-off-by: Sebastian Bauer <mail@sebastianbauer.info>
Also extract doxygen description before function definitions.

Signed-off-by: Sebastian Bauer <mail@sebastianbauer.info>
Added new hover for showing the description based on the IDescription adapter.

Signed-off-by: Sebastian Bauer <mail@sebastianbauer.info>
Added an index prefs option to skip the parsing of the descriptions.

This option is changeable in the indexer page.

Signed-off-by: Sebastian Bauer <mail@sebastianbauer.info>
Update the description when the function is updated for a new binding.

Signed-off-by: Sebastian Bauer <mail@sebastianbauer.info>
Also use the PDOM when finding a description.

If the description could not be found within the AST-based model, also query the PDOM for it.

Signed-off-by: Sebastian Bauer <mail@sebastianbauer.info>
Moved code to get the description of a node into a static method of a new util class.

Signed-off-by: Sebastian Bauer <mail@sebastianbauer.info>
Added support for descriptions of parameter (at the moment CModel only)

Signed-off-by: Sebastian Bauer <mail@sebastianbauer.info>