Search in sources :

Example 1 with CppReader

use of org.anarres.cpp.CppReader in project ihmc-pub-sub by ihmcrobotics.

the class IDLGenerator method createPreProcessedInputStream.

private static Reader createPreProcessedInputStream(File idlFile, List<File> includePathIn) throws IOException {
    PreprocessorFilter preprocessor = new PreprocessorFilter();
    preprocessor.addFeature(Feature.KEEPALLCOMMENTS);
    preprocessor.addFeature(Feature.KEEPCOMMENTS);
    preprocessor.addFeature(Feature.LINEMARKERS);
    preprocessor.addFeature(Feature.INCLUDENEXT);
    ArrayList<String> includePath = new ArrayList<>();
    includePath.add(idlFile.getParent());
    for (File include : includePathIn) {
        includePath.add(include.getAbsolutePath());
    }
    preprocessor.setSystemIncludePath(includePath);
    preprocessor.setQuoteIncludePath(includePath);
    preprocessor.addInput(idlFile);
    CppReader reader = new CppReader(preprocessor);
    return new BufferedReader(reader);
}
Also used : CppReader(org.anarres.cpp.CppReader) ArrayList(java.util.ArrayList) BufferedReader(java.io.BufferedReader) File(java.io.File)

Aggregations

BufferedReader (java.io.BufferedReader)1 File (java.io.File)1 ArrayList (java.util.ArrayList)1 CppReader (org.anarres.cpp.CppReader)1