[foreign-jextract] RFR: 8241483: Add jextract API to provide developer information about include

Henry Jen henryjen at openjdk.java.net
Tue Mar 24 06:39:49 UTC 2020


Positon.origin() return the most top header include this position path. Positon.depth() provide a default
implementation to figure out how deep the include is.

CursorPosition is moved out into a separate file, and the logic of tracking the shorted include path is in the
PositionTracker.

The origin() method implementation has to be lazy because we only know the most top include until finished
preprocessing.

empty.h is intentionally leave blank, this is to make sure a complete empty cursor cycle, but it seems this case can
happen with #ifndef <xxx> #define <XXX> ... #endif pattern. However, intentionally leave blank to make sure any change
to parsing have a change to interfere, for example, it's not clear if copyright in comments can produce something with
different parsing options.

-------------

Commit messages:
 - 8241483: Add jextract API to provide developer information about include

Changes: https://git.openjdk.java.net/panama-foreign/pull/63/files
 Webrev: https://webrevs.openjdk.java.net/panama-foreign/63/webrev.00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8241483
  Stats: 771 lines in 15 files changed: 676 ins; 73 del; 22 mod
  Patch: https://git.openjdk.java.net/panama-foreign/pull/63.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/63/head:pull/63

PR: https://git.openjdk.java.net/panama-foreign/pull/63


More information about the panama-dev mailing list