You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jun 16, 2019. It is now read-only.
The state of the AST generation algorithms and data structure codebase could be better and refactored with good programming practices in mind. The incorporation of libclang for it's AST should be considered instead of the custom AST data structure we now have.
The major points to consider when refactoring
Classes should adhere to rule of three (or rule of five, or rule of zero).
Classes should cooperate flawlessly with STL containers.
Use STL containers wherever possible.
Avoid explicit dynamic memory allocation (using new) whenever possible. If a custom allocation mechanism is needed, use allocators and STL containers.
Use glog's CHECK() and LOG() instead of relying on llvm_unreachable() and LLVM diagnostics.
Update: Using clang AST has been deemed as the way forward and AST generation is being rewritten in dev-clang-ast. Issues related to the rewrite are coupled under this issues milestone.
The state of the AST generation algorithms and data structure codebase could be better and refactored with good programming practices in mind. The incorporation of libclang for it's AST should be considered instead of the custom AST data structure we now have.
The major points to consider when refactoring
new
) whenever possible. If a custom allocation mechanism is needed, use allocators and STL containers.CHECK()
andLOG()
instead of relying onllvm_unreachable()
and LLVM diagnostics.goto
.The text was updated successfully, but these errors were encountered: