HeaderDoc::PDefine

Declared In:

Introduction

API object that describes a C preprocessor macro declaration.

Discussion

This class is a subclass of HeaderElement. The majority of related fields and functions can be found there.



Member Functions

_initialize

Initializes an instance of a PDefine object.

abstract

Gets/sets the abstract for a #define.

blockDiscussion

Gets/sets the block discussion for a #define.

clone

Duplicates this PDefine object into another one.

conflict

Gets/sets whether this function has a conflict with another function of the same name.

discussion

Gets/sets the discussion; returns block discussion for #define macros that don't have a discussion of their own.

isAvailabilityMacro

Gets/sets whether this macro is an availability macro.

isFunctionLikeMacro

Returns whether the macro is a function-like macro or not.

parseOnly

Gets/sets the "parse only" flag for this #define.

parseTree

Gets/sets the parse tree associated with this object.

printObject

Prints this object for debugging purposes.

setDeclaration

Sets the declaration.


_initialize


Initializes an instance of a PDefine object.

Parameters
self

The object to initialize.


abstract


Gets/sets the abstract for a #define.

sub abstract 
Parameters
self

The current object.

throws

The new value. (Optional.)

isbrief

Use for compatibility the Doxygen @brief tag. Pass 1 for the @brief behavior (abstract is limited to one paragraph of content, so everything after a gap becomes part of the discussion), 0 for the normal @abstract behavior.

Discussion

This differs from the main function only in that it checks for abstract locking (used by define blocks).


blockDiscussion


Gets/sets the block discussion for a #define.

Parameters
self

This object.

newvalue

The new block discussion. (Optional.)

Discussion

The block discussion for a #define is the discusion from the enclosing @defineblock comment. A copy is stored in each #define object. It is returned by the discussion function if no discussion specific to a given #define is available.


clone


Duplicates this PDefine object into another one.

sub clone 
Parameters
self

The object to clone.

clone

The victim object.


conflict


Gets/sets whether this function has a conflict with another function of the same name.

sub conflict 
Parameters
self

The Function object.

conflict

The value to set. (Optional.)


discussion


Gets/sets the discussion; returns block discussion for #define macros that don't have a discussion of their own.

Parameters
self

This object.

newvalue

The value to set. (Optional.)

Discussion

This differs from the main function in that it checks for discussion locking (used by define blocks) and falls back on the block discussion for individual defines if no define-specific discussion exists.


isAvailabilityMacro


Gets/sets whether this macro is an availability macro.

Parameters
self

This object.

newvalue

The new value. (Optional.)

Discussion

Triggered by the @availabilitymacro tag.


isFunctionLikeMacro


Returns whether the macro is a function-like macro or not.


parseOnly


Gets/sets the "parse only" flag for this #define.

sub parseOnly 
Parameters
self

This object.

newvalue

The new "parse only" flag value. (Optional.)

Discussion

This is triggered by the @parseOnly tag in the HeaderDoc comment. If set, the declaration is parsed for C preprocessing purposes, but is not emitted in the HTML.


parseTree


Gets/sets the parse tree associated with this object.

sub parseTree 
Parameters
self

This object.

treeref

A reference to the parse tree to set/add. (Optional.)

Discussion

If this is a block declaration, the parse tree is added to its list of parse trees.


printObject


Prints this object for debugging purposes.

Parameters
self

This object.


setDeclaration


Sets the declaration.

Parameters
self

This object.

declaration

The line array.


Member Data

BLOCKDISCUSSION

The discussion for the define block that contains this define.

HeaderDoc::PDefine::VERSION

The revision control revision number for this module.

ISAVAILABILITYMACRO

Set to 1 if this macro is an availability macro, else 0.

PARSEONLY

Set by the @parseOnly flag. See parseOnly.

RESULT

The contents of the @result or @return(s) tags.


BLOCKDISCUSSION


The discussion for the define block that contains this define.

$self->{BLOCKDISCUSSION}

HeaderDoc::PDefine::VERSION


The revision control revision number for this module.

$HeaderDoc::PDefine::VERSION = '$Revision: 1299283925 $';  
Discussion

In the git repository, contains the number of seconds since January 1, 1970.


ISAVAILABILITYMACRO


Set to 1 if this macro is an availability macro, else 0.

$self->{ISAVAILABILITYMACRO}

PARSEONLY


Set by the @parseOnly flag. See parseOnly.

$self->{PARSEONLY}

RESULT


The contents of the @result or @return(s) tags.

$self->{RESULT}