ICG 2
Electric Boogaloo
Traversal.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <nlohmann/json.hpp>
4 
6 #include "JClang/Scope.hpp"
7 
9 
10 namespace JClang {
11 
18  ASTInfo traverseAST (json& ast);
19 
27  ASTInfo scrape_ast (json& ast_node, Scope& scope);
28 
36  ASTInfo scrape_class_info (json& class_node, Scope& scope);
37 
45  ASTInfo scrape_class_template_decl_info (json& class_template_node, Scope& scope);
46 
54  ASTInfo scrape_class_template_spec_info (json& class_template_node, Scope& scope);
55 
63  ASTInfo scrape_typedef_info (json& typedef_node, Scope& scope);
64 
72  FieldInfo scrape_field_decl_info (json& field_node, Scope& scope);
73 }
nlohmann::json json
Definition: ASTFilter.hpp:11
nlohmann::json json
Definition: Traversal.hpp:8
Definition: ASTInfo.hpp:12
Hold information about a field declaration.
Definition: FieldInfo.hpp:13
Definition: JClang.hpp:8
ASTInfo traverseAST(json &ast)
Traverse the AST and pull out relevant information.
Definition: Traversal.cpp:7
FieldInfo scrape_field_decl_info(json &field_node, Scope &scope)
Process this node of the AST as a field declaration.
Definition: Traversal.cpp:149
ASTInfo scrape_class_template_spec_info(json &class_template_node, Scope &scope)
Process this node of the AST as a class template specialization.
Definition: Traversal.cpp:114
ASTInfo scrape_ast(json &ast_node, Scope &scope)
Process this node of the AST as a top level AST.
Definition: Traversal.cpp:12
ASTInfo scrape_class_info(json &class_node, Scope &scope)
Process this node of the AST as a class declaration.
Definition: Traversal.cpp:48
ASTInfo scrape_typedef_info(json &typedef_node, Scope &scope)
Process this node of the AST as a class template specialization.
Definition: Traversal.cpp:140
ASTInfo scrape_class_template_decl_info(json &class_template_node, Scope &scope)
Process this node of the AST as a class template declaration.
Definition: Traversal.cpp:89