Package org.eclipse.cdt.core.dom.ast

## Interface IASTPreprocessorMacroDefinition

All Superinterfaces:
  `IASTNameOwner`, `IASTNode`, `IASTPreprocessorStatement`

All Known Subinterfaces:
  `IASTPreprocessorFunctionStyleMacroDefinition`, `IASTPreprocessorObjectStyleMacroDefinition`

    public interface IASTPreprocessorMacroDefinition
    extends IASTPreprocessorStatement, IASTNameOwner

This represents the definition of a macro.

Restriction:
  This interface is not intended to be implemented by clients.
Restriction:
  This interface is not intended to be extended by clients.

### Nested Class Summary

### Nested classes/interfaces inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode

`IASTNode.CopyStyle`

### Field Summary

Fields
`static ASTNodeProperty` `MACRO_NAME` `MACRO_NAME` describes the relationship between a macro definition and it's name.

### Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNameOwner

`r_declaration, r_definition, r_reference, r_unclear`

### Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode

`EMPTY_NODE_ARRAY`

### Method Summary

All Methods Instance Methods Abstract Methods
`String` `getExpansion()` Returns the macro expansion, or an empty string for dynamic style macros.
`IASTFileLocation` `getExpansionLocation()` Returns the location of the macro expansion, or `null` if not supported.
`IASTName` `getName()` Get the macro name.
`boolean` `isActive()` Returns whether this macro definition occurs in active code.

### Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTNameOwner

`getRoleForName`

### Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode

`accept, contains, copy, copy, getChildren, getContainingFilename, getFileLocation, getLeadingSyntax, getNodeLocations, getOriginalNode, getParent, getPropertyInParent, getRawSignature, getSyntax, getTrailingSyntax, getTranslationUnit, isFrozen, isPartOfTranslationUnitFile, setParent, setPropertyInParent`

### Field Detail

#### MACRO_NAME

    static final ASTNodeProperty MACRO_NAME

`MACRO_NAME` describes the relationship between a macro definition and it's name.

### Method Detail

#### getName

    IASTName getName()

Get the macro name.

#### getExpansion

    String getExpansion()

Returns the macro expansion, or an empty string for dynamic style macros.

#### getExpansionLocation

    IASTFileLocation getExpansionLocation()

Returns the location of the macro expansion, or `null` if not supported. For built-in macros the location will always be null.

Since:
  5.0

#### isActive

    boolean isActive()

Returns whether this macro definition occurs in active code.

Specified by:
  `isActive` in interface `IASTNode`
Since:
  5.1