< prev index next >

src/jdk.jextract/share/classes/com/sun/tools/jextract/parser/Parser.java

Print this page

        

*** 33,42 **** --- 33,44 ---- import java.util.List; import java.util.Map; import java.util.Optional; import java.util.logging.Logger; import java.util.stream.Collectors; + + import com.sun.tools.jextract.Context; import jdk.internal.clang.Cursor; import jdk.internal.clang.CursorKind; import jdk.internal.clang.Diagnostic; import jdk.internal.clang.Index; import jdk.internal.clang.LibClang;
*** 55,76 **** private final PrintWriter err; private final TreeMaker treeMaker; private final boolean supportMacros; private final Logger logger = Logger.getLogger(getClass().getPackage().getName()); ! public Parser(PrintWriter out, PrintWriter err, boolean supportMacros) { ! this.out = out; ! this.err = err; this.treeMaker = new TreeMaker(); this.supportMacros = supportMacros; } - public Parser(boolean supportMacros) { - this(new PrintWriter(System.out, true), - new PrintWriter(System.err, true), supportMacros); - } - public List<HeaderTree> parse(Collection<Path> paths, Collection<String> args) { final List<HeaderTree> headers = new ArrayList<>(); final Index index = LibClang.createIndex(); for (Path path : paths) { logger.info(() -> { --- 57,73 ---- private final PrintWriter err; private final TreeMaker treeMaker; private final boolean supportMacros; private final Logger logger = Logger.getLogger(getClass().getPackage().getName()); ! public Parser(Context context, boolean supportMacros) { ! this.out = context.out; ! this.err = context.err; this.treeMaker = new TreeMaker(); this.supportMacros = supportMacros; } public List<HeaderTree> parse(Collection<Path> paths, Collection<String> args) { final List<HeaderTree> headers = new ArrayList<>(); final Index index = LibClang.createIndex(); for (Path path : paths) { logger.info(() -> {
*** 178,188 **** if (args.length == 0) { System.err.println("Expected a header file"); return; } ! Parser p = new Parser(true); List<Path> paths = Arrays.stream(args).map(Paths::get).collect(Collectors.toList()); Path builtinInc = Paths.get(System.getProperty("java.home"), "conf", "jextract"); List<String> clangArgs = List.of("-I" + builtinInc); List<HeaderTree> headers = p.parse(paths, clangArgs); TreePrinter printer = new TreePrinter(); --- 175,186 ---- if (args.length == 0) { System.err.println("Expected a header file"); return; } ! Context context = new Context(); ! Parser p = new Parser(context,true); List<Path> paths = Arrays.stream(args).map(Paths::get).collect(Collectors.toList()); Path builtinInc = Paths.get(System.getProperty("java.home"), "conf", "jextract"); List<String> clangArgs = List.of("-I" + builtinInc); List<HeaderTree> headers = p.parse(paths, clangArgs); TreePrinter printer = new TreePrinter();
< prev index next >