• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2017 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef V8_D8_CONSOLE_H_
6 #define V8_D8_CONSOLE_H_
7 
8 #include "src/base/platform/time.h"
9 #include "src/debug/debug-interface.h"
10 #include "src/debug/interface-types.h"
11 
12 namespace v8 {
13 
14 class D8Console : public debug::ConsoleDelegate {
15  public:
16   explicit D8Console(Isolate* isolate);
17 
18  private:
19   void Assert(const debug::ConsoleCallArguments& args,
20               const v8::debug::ConsoleContext&) override;
21   void Log(const debug::ConsoleCallArguments& args,
22            const v8::debug::ConsoleContext&) override;
23   void Error(const debug::ConsoleCallArguments& args,
24              const v8::debug::ConsoleContext&) override;
25   void Warn(const debug::ConsoleCallArguments& args,
26             const v8::debug::ConsoleContext&) override;
27   void Info(const debug::ConsoleCallArguments& args,
28             const v8::debug::ConsoleContext&) override;
29   void Debug(const debug::ConsoleCallArguments& args,
30              const v8::debug::ConsoleContext&) override;
31   void Time(const debug::ConsoleCallArguments& args,
32             const v8::debug::ConsoleContext&) override;
33   void TimeEnd(const debug::ConsoleCallArguments& args,
34                const v8::debug::ConsoleContext&) override;
35   void TimeStamp(const debug::ConsoleCallArguments& args,
36                  const v8::debug::ConsoleContext&) override;
37   void Trace(const debug::ConsoleCallArguments& args,
38              const v8::debug::ConsoleContext&) override;
39 
40   Isolate* isolate_;
41   std::map<std::string, base::TimeTicks> timers_;
42   base::TimeTicks default_timer_;
43 };
44 
45 }  // namespace v8
46 
47 #endif  // V8_D8_CONSOLE_H_
48