48 |
#include "jsbool.h" |
#include "jsbool.h" |
49 |
#include "jscntxt.h" |
#include "jscntxt.h" |
50 |
#include "jsversion.h" |
#include "jsversion.h" |
|
#include "jsinterp.h" |
|
51 |
#include "jslock.h" |
#include "jslock.h" |
52 |
#include "jsnum.h" |
#include "jsnum.h" |
53 |
#include "jsobj.h" |
#include "jsobj.h" |
54 |
#include "jsstr.h" |
#include "jsstr.h" |
55 |
|
|
56 |
/* Check pseudo-booleans values. */ |
/* Check pseudo-booleans values. */ |
57 |
JS_STATIC_ASSERT(JSVAL_VOID == JSVAL_TRUE + JSVAL_ALIGN); |
JS_STATIC_ASSERT(!(JSVAL_TRUE & JSVAL_HOLE_FLAG)); |
58 |
JS_STATIC_ASSERT(JSVAL_HOLE == JSVAL_VOID + JSVAL_ALIGN); |
JS_STATIC_ASSERT(!(JSVAL_FALSE & JSVAL_HOLE_FLAG)); |
59 |
JS_STATIC_ASSERT(JSVAL_ARETURN == JSVAL_HOLE + JSVAL_ALIGN); |
JS_STATIC_ASSERT(!(JSVAL_VOID & JSVAL_HOLE_FLAG)); |
60 |
|
JS_STATIC_ASSERT((JSVAL_HOLE & JSVAL_HOLE_FLAG)); |
61 |
|
JS_STATIC_ASSERT((JSVAL_HOLE & ~JSVAL_HOLE_FLAG) == JSVAL_VOID); |
62 |
|
JS_STATIC_ASSERT(!(JSVAL_ARETURN & JSVAL_HOLE_FLAG)); |
63 |
|
|
64 |
JSClass js_BooleanClass = { |
JSClass js_BooleanClass = { |
65 |
"Boolean", |
"Boolean", |
135 |
bval = (argc != 0) |
bval = (argc != 0) |
136 |
? BOOLEAN_TO_JSVAL(js_ValueToBoolean(argv[0])) |
? BOOLEAN_TO_JSVAL(js_ValueToBoolean(argv[0])) |
137 |
: JSVAL_FALSE; |
: JSVAL_FALSE; |
138 |
if (!(cx->fp->flags & JSFRAME_CONSTRUCTING)) { |
if (!JS_IsConstructing(cx)) { |
139 |
*rval = bval; |
*rval = bval; |
140 |
return JS_TRUE; |
return JS_TRUE; |
141 |
} |
} |