Interface IScannerInfo

All Known Subinterfaces:
IExtendedScannerInfo
All Known Implementing Classes:
ExtendedScannerInfo, ScannerInfo, ScannerInfo

public interface IScannerInfo
Interface for providing a configuration for the preprocessor.
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns a Map containing all the defined preprocessor symbols and their values.
    Returns an array of paths that are searched when processing an include directive.
  • Method Details

    • getDefinedSymbols

      Map<String,String> getDefinedSymbols()
      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, "").
    • getIncludePaths

      String[] getIncludePaths()
      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')