XJEaseDocs

XJEaseDocs are a means of providing metadata about functions and files to the system. The extra information provided in the metadata allows the system to improve its handling of the functions and files, for example by knowing more about the effects a function will have and how it is intended to be used, or by knowing what changes to make automatically to accelerate the project setup when a particular file is added to a project.

The different varieties of XJEaseDocs are specified on blocks of lines, each line beginning with a special comment mark. Docs consist of an optional summary followed by a series of tags, each of which may be followed by a value and one or more subtags; subtags may have further subtags and so on. In most cases single line breaks and whitespace are ignored, so may be used as desired for clarity. A double line break is treated as a "real" line break. Where tags take one or more pre-defined values, these values are case-insensitive.

In the example below, there is an overall summary which will read "This function tests IC9 using data from a specified file.". Two parameters are defined with descriptions of "This is the description of the parameter." and "Returns RESULT_PASS on success.". The function is marked as being a test function in group "The Group Name". In each case note that the line breaks and excess whitespace are automatically removed.

/// This function tests IC9 using data from a 
/// specified file.
///
/// @testfunction defaultenabled @groupname The
/// Group Name
/// @param myParameter  This is the description 
///                     of the parameter.
/// @param result       Returns RESULT_PASS on success.
GLOBAL FUNCTION Test(INT myParameter)(INT result)
  // ...
END;

Two varieties of XJEaseDocs are supported, Functions and Files. Each has a different schema of allowed XJEaseDoc tags and subtags.