< 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 >