accordproject/concerto

Make `accept` methods of introspection classes public

ekarademir opened this issue · 1 comments

Make accept methods of introspection classes public

Feature Request 🛍️

Currently only the model manager class as a public accept method. However, if a detailed crawling on the syntax tree is required, then we might need to access accept methods of other introspection classes, like ClassDeclaration or ModelFile. However, all the those accept methods are marked as private.

On top of all that, we are dismissing this in our own code generators, like RustVisitor.

This is not a huge problem in JS, but in TypeScript, the types generated using the annotations raise compiler errors while trying to access private methods.

Use Case

  • Being able to refine the visitor.
  • Our own code generation.

Possible Solution

Marking those methods as public

Context

  • I'm trying to take advantage of internal machinery while flattening types and I wanted to use the visitor pattern.

Detailed Description

I've edited the JSDoc of accept methods to mark the accept methods as public while keeping the functionality the same. Does this cover all that is required?