Package org.eclipse.cdt.core.parser

## Class ScannerInfo

- java.lang.Object
- - org.eclipse.cdt.core.parser.ScannerInfo

All Implemented Interfaces:
  `IScannerInfo`

Direct Known Subclasses:
  `ExtendedScannerInfo`

    public class ScannerInfo
    extends Object
    implements IScannerInfo

Implementation of the `IScannerInfo` interface. Allows to configure the preprocessor.

### Constructor Summary

Constructors
`ScannerInfo()`
`ScannerInfo​(Map<String,​String> macroDefinitions)`
`ScannerInfo​(Map<String,​String> definedSymbols, String[] includePaths)`

### Method Summary

All Methods Instance Methods Concrete Methods
`Map<String,​String>` `getDefinedSymbols()` Returns a `Map` containing all the defined preprocessor symbols and their values.
`String[]` `getIncludePaths()` Returns an array of paths that are searched when processing an include directive.

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

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

### Constructor Detail

#### ScannerInfo

    public ScannerInfo()

#### ScannerInfo

    public ScannerInfo​(Map<String,​String> macroDefinitions)

#### ScannerInfo

    public ScannerInfo​(Map<String,​String> definedSymbols,
                       String[] includePaths)

### Method Detail

#### getDefinedSymbols

    public Map<String,​String> getDefinedSymbols()

Description copied from interface: `IScannerInfo`
Returns a `Map` containing all the defined preprocessor symbols and their values. Symbols defined without values have an empty string for a value. For example, -Dsymbol=value would have a map entry (symbol, value). A symbol defined as -Dsymbol= would have a map entry of (symbol, "").

Specified by:
  `getDefinedSymbols` in interface `IScannerInfo`

#### getIncludePaths

    public String[] getIncludePaths()

Description copied from interface: `IScannerInfo`
Returns an array of paths that are searched when processing an include directive. see `IExtendedScannerInfo.getLocalIncludePath()`

In order to suppress the use of the directory of the current file (side effect of gcc option -I-) you can pass '-' as one of the include paths. Other than that, the '-' will not have an effect, in particular it will not split the include path as the -I- option would do. To achieve that, use `IExtendedScannerInfo.getLocalIncludePath()`.

In order to handle framework includes used on Apple Computers you can make use of the two variables: '__framework__' and '__header__'.
E.g.: /System/Library/Frameworks/__framework__.framework/Headers/__header__, /System/Library/Frameworks/__framework__.framework/PrivateHeaders/__header__ would handle the framework search for '/System/Library/Frameworks'
The variables are handled only, if a search path element makes use of both of the variables. The __framework__ variable will receive the first segment of the include, the __header__ variable the rest. Such a search path element is not used for directives with a single segment (e.g. 'header.h')

Specified by:
  `getIncludePaths` in interface `IScannerInfo`