-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Retain joinpoint locations on Clava.rebuild() #41
Comments
Type variables could be kept track of by using another variable. The same can be done for files. |
It might be faster to search all other existing joinpoint js variables before analysing the AST directly. |
Join points are wrappers around AST nodes that provide a common interface and allow different languages with different ASTs to be handled in a similar way. Taking this into consideration, join points are treated as shorted-lived objects, every time we access an AST node, a new join point is potentially created. Persistence should be viewed at the level of the AST, hence the current decision to store data objects as pragmas, whenever a node supports a pragma. All data objects are mapped to AST node ids, not join points. When a join point accesses a data object, it uses a map of data objects for the current context. Pushing and popping ASTs from the AST stack do not change the context of data objects, so if a node maintains its id, it is possible to communicate information between pushes and pops. Since node ids do not persist between rebuilds, we only persist data objects of nodes that can be directly annotated with pragmas. In short: all data objects are mapped by node id (i.e. |
Wrap up of the discussion:
Problems:
The text was updated successfully, but these errors were encountered: