Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • A asdf
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 62
    • Issues 62
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 20
    • Merge requests 20
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • asdf
  • asdf
  • Merge requests
  • !176

Add some extension points for component parsing

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Eric Timmons requested to merge add-gfs-for-system-parsing into master May 14, 2021
  • Overview 21
  • Commits 14
  • Pipelines 15
  • Changes 4

Apropos my complaints about package-inferred-system, I decided to make a system class that infers components instead of systems. It's called, creatively enough, asdf-inferred-components.

I imagine it will continue to live outside of ASDF proper (but if there's interest in it, I'm happy to bring it in). However, I found myself wanting a couple more points to intercede in the parsing of systems. This MR adds them. While I held off on exporting them from the ASDF package, I do think they're generally useful and would love to export them (or cleaned versions of them) after using them in practice for a while.

class-for-type is now a generic function that allows a custom parent-component class to control the mapping of component types (:file, :module, etc.) to classes.

I also turned compute-component-children into a GF (no backward compatibility issues there since the defun version of it has yet to be released) and moved a bit of the work it did back into parse-component-form.

Edited Jun 02, 2021 by Eric Timmons
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: add-gfs-for-system-parsing