Home | History | Annotate | Download | only in xml

Lines Matching defs:rhs

66 NumericOp::NumericOp(Opcode opcode, Expression* lhs, Expression* rhs)
70 addSubExpression(rhs);
76 Value rhs(subExpr(1)->evaluate());
79 double rightVal = rhs.toNumber();
97 EqTestOp::EqTestOp(Opcode opcode, Expression* lhs, Expression* rhs)
101 addSubExpression(rhs);
104 bool EqTestOp::compare(const Value& lhs, const Value& rhs) const
108 if (rhs.isNodeSet()) {
112 const NodeSet& rhsSet = rhs.toNodeSet();
119 if (rhs.isNumber()) {
124 if (compare(Value(stringValue(lhsSet[lindex])).toNumber(), rhs))
128 if (rhs.isString()) {
133 if (compare(stringValue(lhsSet[lindex]), rhs))
137 if (rhs.isBoolean()) {
141 return compare(lhs.toBoolean(), rhs);
145 if (rhs.isNodeSet()) {
146 const NodeSet& rhsSet = rhs.toNodeSet();
160 return compare(lhs, rhs.toBoolean());
169 if (lhs.isBoolean() || rhs.isBoolean())
170 equal = lhs.toBoolean() == rhs.toBoolean();
171 else if (lhs.isNumber() || rhs.isNumber())
172 equal = lhs.toNumber() == rhs.toNumber();
174 equal = lhs.toString() == rhs.toString();
180 return lhs.toNumber() > rhs.toNumber();
182 return lhs.toNumber() >= rhs.toNumber();
184 return lhs.toNumber() < rhs.toNumber();
186 return lhs.toNumber() <= rhs.toNumber();
195 Value rhs(subExpr(1)->evaluate());
197 return compare(lhs, rhs);
200 LogicalOp::LogicalOp(Opcode opcode, Expression* lhs, Expression* rhs)
204 addSubExpression(rhs);
231 Value rhs = subExpr(1)->evaluate();
234 const NodeSet& rhsNodes = rhs.toNodeSet();