Problem
ParallelCodeParser creates a clava_parsing_<UUID> directory for every parser session and passes it to each ClangAstDumper as a base working directory.
This was added in 74de7332b2226196ee0f63f0953b7848f0ca2ee5 in 2018, when parallel clang-dumper processes emitted dumps and several side files relative to their working directories. The side files were removed from clang-dumper in 1938d184252a277b45e2b7b1751faa9696f49336 after their Java readers became obsolete.
The current dumper can write its primary AST output and dependency file to explicit paths. A parser-wide UUID root, baseFolder, and the associated workingFolders tracking no longer provide isolation that is not already available from per-invocation temporary output paths.
Proposed change
- Remove the
clava_parsing_<UUID> session directory.
- Remove the
baseFolder plumbing between ParallelCodeParser and ClangAstDumper.
- Remove obsolete multi-folder tracking where each dumper instance now owns one invocation directory.
- Give each dumper invocation an OS-created temporary directory for its explicit AST, dependency, and optional debug outputs.
- Keep the numeric dumper
-id mechanism. It is independent and still distinguishes IDs across translation units.
Acceptance criteria
- Parallel parsing of multiple source files still uses independent output paths.
- Concurrent parser sessions cannot overwrite one another.
- Normal and debug cleanup remove only directories owned by that invocation.
- No process working-directory dependency remains.
- Existing parser tests pass with the production clang-dumper that contains
1938d184.
Problem
ParallelCodeParsercreates aclava_parsing_<UUID>directory for every parser session and passes it to eachClangAstDumperas a base working directory.This was added in
74de7332b2226196ee0f63f0953b7848f0ca2ee5in 2018, when parallel clang-dumper processes emitted dumps and several side files relative to their working directories. The side files were removed from clang-dumper in1938d184252a277b45e2b7b1751faa9696f49336after their Java readers became obsolete.The current dumper can write its primary AST output and dependency file to explicit paths. A parser-wide UUID root,
baseFolder, and the associatedworkingFolderstracking no longer provide isolation that is not already available from per-invocation temporary output paths.Proposed change
clava_parsing_<UUID>session directory.baseFolderplumbing betweenParallelCodeParserandClangAstDumper.-idmechanism. It is independent and still distinguishes IDs across translation units.Acceptance criteria
1938d184.