Package org.eclipse.cdt.core.index

# Interface IIndexMacro

All Superinterfaces:
  `org.eclipse.core.runtime.IAdaptable`, `IBinding`, `IIndexBinding`, `IMacroBinding`

public interface IIndexMacro extends IMacroBinding, IIndexBinding
Represents a macro stored in the index.

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

## Field Summary

Fields
Modifier and Type
Field
Description
`static final IIndexMacro[]`
`EMPTY_INDEX_MACRO_ARRAY`

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

`EMPTY_BINDING_ARRAY`

### Fields inherited from interface org.eclipse.cdt.core.index.IIndexBinding

`EMPTY_INDEX_BINDING_ARRAY`

## Method Summary

Modifier and Type
Method
Description
`IIndexName`
`getDefinition()`
Returns the name of the definition of this macro, or `null` if not available.
`IIndexFile`
`getFile()`
Returns the file in which this macro is defined and belongs to.
`IASTFileLocation`
`getFileLocation()`
If available, return the file location for the macro definition of this macro, otherwise return `null`.

### Methods inherited from interface org.eclipse.core.runtime.IAdaptable

`getAdapter`

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

`getLinkage, getName, getNameCharArray, getScope`

### Methods inherited from interface org.eclipse.cdt.core.index.IIndexBinding

`getLocalToFile, getOwner, getQualifiedName, isFileLocal`

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

`getExpansion, getExpansionImage, getParameterList, getParameterPlaceholderList, isDynamic, isFunctionStyle`

## Field Details

### EMPTY_INDEX_MACRO_ARRAY

static final IIndexMacro[] EMPTY_INDEX_MACRO_ARRAY

## Method Details

### getFileLocation

IASTFileLocation getFileLocation() throws org.eclipse.core.runtime.CoreException
If available, return the file location for the macro definition of this macro, otherwise return `null`.

Throws:
  `org.eclipse.core.runtime.CoreException`

### getFile

IIndexFile getFile() throws org.eclipse.core.runtime.CoreException
Returns the file in which this macro is defined and belongs to.

Throws:
  `org.eclipse.core.runtime.CoreException`

### getDefinition

IIndexName getDefinition() throws org.eclipse.core.runtime.CoreException
Returns the name of the definition of this macro, or `null` if not available.

Throws:
  `org.eclipse.core.runtime.CoreException`
Since:
  5.0