Removed unused coarse parsing code.
Removed some remaining code of old coarse parser.
Made data model more apparent by moving neo4j nodes of different types into newly created classes.
neo4j node ids are now stored in the GraphNodeStore and not in the ASTNodes/BasicBlocks. This is necessary to fully decouple the internal code representation from the neo4j output module.
Removed multi threading code I had experimented with earlier. Due to the fact that neo4j batch insertion is the bottleneck and not the parser, multithreading doesn't make sense and we were never using it. To avoid confusion, the code has been updated accordingly.
Until now, the database creator was part of the Neo4JASTVisitor. To import the directory structure as well, this first had to be decoupled. Created Neo4JDatabaseCreator to do this.
Instead of first generating a list of files and then running a parser on each file, we now walk the directory tree and notify the importer. This allows us to map the directory structure of the codebase to the database.
The directory structure is now also visible in the graph database, however, functions are not yet linked to their respective files.
Functions are now also linked to their respective files.
IS_PARENT_DIR -> IS_PARENT_DIR_OF.