org.eclipse.cdt.core.dom.rewrite

## Class MacroExpansionExplorer

- java.lang.Object
- - org.eclipse.cdt.core.dom.rewrite.MacroExpansionExplorer

    public abstract class MacroExpansionExplorer
    extends Object

Allows to understand macro expansions step by step.

Since:
  5.0

### Nested Class Summary

Nested Classes
`static interface` `MacroExpansionExplorer.IMacroExpansionStep` Representation of a single expansion step or a complete expansion.

### Constructor Summary

Constructors
Constructor and Description
`MacroExpansionExplorer()`

### Method Summary

All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
`static MacroExpansionExplorer` `create(IASTTranslationUnit tu, IASTFileLocation loc)` Creates a macro expansion explorer for a given file location in a translation unit.
`static MacroExpansionExplorer` `create(IASTTranslationUnit tu, org.eclipse.jface.text.IRegion loc)` Creates a macro expansion explorer for a given region in the outermost file of a translation unit.
`abstract MacroExpansionExplorer.IMacroExpansionStep` `getExpansionStep(int step)` Returns a description for the requested step within the expansion of the region of this expansion explorer.
`abstract int` `getExpansionStepCount()` Returns the total number of available steps for expanding the region of this expansion explorer.
`abstract MacroExpansionExplorer.IMacroExpansionStep` `getFullExpansion()` Returns the full expansion for the region of this expansion explorer.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### MacroExpansionExplorer

    public MacroExpansionExplorer()

### Method Detail

#### create

    public static MacroExpansionExplorer create(IASTTranslationUnit tu,
                                                IASTFileLocation loc)

Creates a macro expansion explorer for a given file location in a translation unit.

#### create

    public static MacroExpansionExplorer create(IASTTranslationUnit tu,
                                                org.eclipse.jface.text.IRegion loc)

Creates a macro expansion explorer for a given region in the outermost file of a translation unit.

#### getFullExpansion

    public abstract MacroExpansionExplorer.IMacroExpansionStep getFullExpansion()

Returns the full expansion for the region of this expansion explorer.

#### getExpansionStepCount

    public abstract int getExpansionStepCount()

Returns the total number of available steps for expanding the region of this expansion explorer.

#### getExpansionStep

    public abstract MacroExpansionExplorer.IMacroExpansionStep getExpansionStep(int step)
                                                                         throws IndexOutOfBoundsException

Returns a description for the requested step within the expansion of the region of this expansion explorer.

Throws:
  `IndexOutOfBoundsException` - if step < 0 or step >= getExpansionStepCount().