moosetechnology / FAST-JAVA

Represent the Java AST with Famix
https://modularmoose.org/moose-wiki/Developers/Parsers/FAST-Java.html
MIT License
1 stars 4 forks source link

Parameterized/able types are deprecated since moosetechnology/Famix#635 #217

Closed Gabriel-Darbord closed 10 months ago

Gabriel-Darbord commented 10 months ago

A parameterized type would always point to its parameterizable type directly, so there was a clear mirror-like representation and we knew where to look for relevant information, especially the source anchor.

With the change, Parametric classes represent the two sides of the coin themselves: they can be generic or concrete. Also, a class can concretize a generic class and still be generic itself, so we have a tree of concretization with the root entity holding the relevant information. This makes it difficult to redefine generateFastIfNotDoneAndBind to include the root logic, instead it should be called on the rootGenericEntity. relatively speaking: it's totally doable, but not convenient and it would not make for pretty code, because the tree root and nodes have the same class...

parametricClass rootGenericEntity generateFastIfNotDoneAndBind.