Package 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
Modifier and Type
Class
Description
`static interface`
`MacroExpansionExplorer.IMacroExpansionStep`
Representation of a single expansion step or a complete expansion.

## Constructor Summary

Constructors
Constructor
Description
`MacroExpansionExplorer()`

## Method Summary

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

### MacroExpansionExplorer

public MacroExpansionExplorer()

## Method Details

### 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().