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
Modifier and Type
Field
Description
`static final 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

Modifier and Type
Method
Description
`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 Details

### MACRO_NAME

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

## Method Details

### 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