aboutsummaryrefslogtreecommitdiff
path: root/deps/v8/src/torque/torque.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/torque/torque.cc')
-rw-r--r--deps/v8/src/torque/torque.cc36
1 files changed, 17 insertions, 19 deletions
diff --git a/deps/v8/src/torque/torque.cc b/deps/v8/src/torque/torque.cc
index fd47251d59..05dabdccca 100644
--- a/deps/v8/src/torque/torque.cc
+++ b/deps/v8/src/torque/torque.cc
@@ -9,7 +9,6 @@
#include "src/torque/declaration-visitor.h"
#include "src/torque/global-context.h"
#include "src/torque/implementation-visitor.h"
-#include "src/torque/scope.h"
#include "src/torque/torque-parser.h"
#include "src/torque/type-oracle.h"
#include "src/torque/types.h"
@@ -51,31 +50,30 @@ int WrappedMain(int argc, const char** argv) {
ParseTorque(file_content);
}
- GlobalContext global_context(std::move(CurrentAst::Get()));
- if (verbose) global_context.SetVerbose();
- TypeOracle::Scope type_oracle(global_context.declarations());
+ GlobalContext::Scope global_context(std::move(CurrentAst::Get()));
+ if (verbose) GlobalContext::SetVerbose();
+ TypeOracle::Scope type_oracle;
if (output_directory.length() != 0) {
- {
- DeclarationVisitor visitor(global_context);
+ DeclarationVisitor().Visit(GlobalContext::Get().ast());
- visitor.Visit(global_context.ast());
-
- std::string output_header_path = output_directory;
- output_header_path += "/builtin-definitions-from-dsl.h";
- visitor.GenerateHeader(output_header_path);
+ ImplementationVisitor visitor;
+ for (Namespace* n : GlobalContext::Get().GetNamespaces()) {
+ visitor.BeginNamespaceFile(n);
}
- ImplementationVisitor visitor(global_context);
- for (auto& module : global_context.GetModules()) {
- visitor.BeginModuleFile(module.second.get());
- }
+ visitor.VisitAllDeclarables();
+
+ std::string output_header_path = output_directory;
+ output_header_path += "/builtin-definitions-from-dsl.h";
+ visitor.GenerateBuiltinDefinitions(output_header_path);
- visitor.Visit(global_context.ast());
+ output_header_path = output_directory + "/class-definitions-from-dsl.h";
+ visitor.GenerateClassDefinitions(output_header_path);
- for (auto& module : global_context.GetModules()) {
- visitor.EndModuleFile(module.second.get());
- visitor.GenerateImplementation(output_directory, module.second.get());
+ for (Namespace* n : GlobalContext::Get().GetNamespaces()) {
+ visitor.EndNamespaceFile(n);
+ visitor.GenerateImplementation(output_directory, n);
}
}