Skip to content

Remove obsolete parser UUID directory #248

Description

@lm-sousa

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions