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 Details

    • ScannerInfo

      public ScannerInfo()
    • ScannerInfo

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

      public ScannerInfo(Map<String,String> definedSymbols, String[] includePaths)
  • Method Details

    • 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