blob: 7c7ecf882cfe7bdbe05ce07433eb52791e48d0fb [file] [log] [blame]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001// Copyright 2013 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_EXTENSIONS_TRIGGER_FAILURE_EXTENSION_H_
6#define V8_EXTENSIONS_TRIGGER_FAILURE_EXTENSION_H_
7
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00008#include "include/v8.h"
Ben Murdochb8a8cc12014-11-26 15:28:44 +00009
10namespace v8 {
11namespace internal {
12
13class TriggerFailureExtension : public v8::Extension {
14 public:
15 TriggerFailureExtension() : v8::Extension("v8/trigger-failure", kSource) {}
Ben Murdoch4a90d5f2016-03-22 12:00:34 +000016 virtual v8::Local<v8::FunctionTemplate> GetNativeFunctionTemplate(
17 v8::Isolate* isolate, v8::Local<v8::String> name);
Ben Murdochb8a8cc12014-11-26 15:28:44 +000018 static void TriggerCheckFalse(
19 const v8::FunctionCallbackInfo<v8::Value>& args);
20 static void TriggerAssertFalse(
21 const v8::FunctionCallbackInfo<v8::Value>& args);
22 static void TriggerSlowAssertFalse(
23 const v8::FunctionCallbackInfo<v8::Value>& args);
24
25 private:
26 static const char* const kSource;
27};
28
Ben Murdoch4a90d5f2016-03-22 12:00:34 +000029} // namespace internal
30} // namespace v8
Ben Murdochb8a8cc12014-11-26 15:28:44 +000031
32#endif // V8_EXTENSIONS_TRIGGER_FAILURE_EXTENSION_H_