Home | History | Annotate | Download | only in xml

Lines Matching full:rhs

70 NumericOp::NumericOp(Opcode opcode, Expression* lhs, Expression* rhs)
74 addSubExpression(rhs);
80 Value rhs(subExpr(1)->evaluate());
83 double rightVal = rhs.toNumber();
101 EqTestOp::EqTestOp(Opcode opcode, Expression* lhs, Expression* rhs)
105 addSubExpression(rhs);
108 bool EqTestOp::compare(const Value& lhs, const Value& rhs) const
112 if (rhs.isNodeSet()) {
116 const NodeSet& rhsSet = rhs.toNodeSet();
123 if (rhs.isNumber()) {
128 if (compare(Value(stringValue(lhsSet[lindex])).toNumber(), rhs))
132 if (rhs.isString()) {
137 if (compare(stringValue(lhsSet[lindex]), rhs))
141 if (rhs.isBoolean()) {
145 return compare(lhs.toBoolean(), rhs);
149 if (rhs.isNodeSet()) {
150 const NodeSet& rhsSet = rhs.toNodeSet();
164 return compare(lhs, rhs.toBoolean());
173 if (lhs.isBoolean() || rhs.isBoolean())
174 equal = lhs.toBoolean() == rhs.toBoolean();
175 else if (lhs.isNumber() || rhs.isNumber())
176 equal = lhs.toNumber() == rhs.toNumber();
178 equal = lhs.toString() == rhs.toString();
184 return lhs.toNumber() > rhs.toNumber();
186 return lhs.toNumber() >= rhs.toNumber();
188 return lhs.toNumber() < rhs.toNumber();
190 return lhs.toNumber() <= rhs.toNumber();
199 Value rhs(subExpr(1)->evaluate());
201 return compare(lhs, rhs);
204 LogicalOp::LogicalOp(Opcode opcode, Expression* lhs, Expression* rhs)
208 addSubExpression(rhs);
235 Value rhs = subExpr(1)->evaluate();
238 const NodeSet& rhsNodes = rhs.toNodeSet();