summaryrefslogtreecommitdiff
path: root/js/src/Ice/browser/Debug.js
blob: e81e480097296eb87c46947ec41534e01f697fcb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// **********************************************************************
//
// Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
//
// **********************************************************************

const Ice = require("../Ice/ModuleRegistry").Ice;
Ice._ModuleRegistry.require(module, ["../Ice/Class", "../Ice/Exception"]);

class AssertionFailedException extends Error
{
    constructor(message)
    {
        super();
        Ice.Exception.captureStackTrace(this);
        this.message = message;
    }
}
Ice.AssertionFailedException = AssertionFailedException;

class Debug
{
    static assert(b, msg)
    {
        if(!b)
        {
            console.log(msg === undefined ? "assertion failed" : msg);
            console.log(Error().stack);
            throw new Ice.AssertionFailedException(msg === undefined ? "assertion failed" : msg);
        }
    }
}

Ice.Debug = Debug;
module.exports.Ice = Ice;