Source Code (Use browser search to find items of interest.)
Class Index
kdelibs'BitOperNode (./kdelibs/kjs/nodes.h:376)
class BitOperNode : public Node {
public:
BitOperNode(Node *e1, Operator o, Node *e2) :
expr1(e1), expr2(e2), oper(o) {}
KJSO *evaluate();
private:
Node *expr1, *expr2;
Operator oper;
};
kdelibs'BitOperNode::evaluate() (./kdelibs/kjs/nodes.cpp:329)
KJSO *BitOperNode::evaluate()
{
Ptr e1 = expr1->evaluate();
Ptr v1 = e1->getValue();
Ptr e2 = expr2->evaluate();
Ptr v2 = e2->getValue();
int i1 = toInt32(v1);
int i2 = toInt32(v2);
int result;
if (oper == OpBitAnd)
result = i1 & i2;
else if (oper == OpBitXOr)
result = i1 ^ i2;
else
result = i1 | i2;
return KJSO::newNumber(result);
}
// ECMA 11.11