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
`static 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

All Methods Instance Methods Abstract Methods
`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 Detail

#### EMPTY_INDEX_MACRO_ARRAY

    static final IIndexMacro[] EMPTY_INDEX_MACRO_ARRAY

### Method Detail

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