Lines Matching refs:right
25 const Expression& right,
30 right.type().isVector() &&
31 left.type().rows() == right.type().columns() &&
33 Analysis::IsTrivialExpression(right);
39 const Expression& right,
49 context, right.clone(), ComponentArray{(SkSL::SwizzleComponent::Type)n});
72 std::unique_ptr<Expression> right) {
73 if (!left || !right) {
78 const Type* rawLeftType = (left->isIntLiteral() && right->type().isInteger())
79 ? &right->type()
81 const Type* rawRightType = (right->isIntLiteral() && left->type().isInteger())
83 : &right->type();
102 "', '" + right->type().displayName() + "'");
128 right = rightType->coerceExpression(std::move(right), context);
129 if (!left || !right) {
133 return BinaryExpression::Make(context, std::move(left), op, std::move(right), resultType);
139 std::unique_ptr<Expression> right) {
144 SkAssertResult(op.determineBinaryType(context, left->type(), right->type(),
147 return BinaryExpression::Make(context, std::move(left), op, std::move(right), resultType);
153 std::unique_ptr<Expression> right,
165 left->type().checkForOutOfRangeLiteral(context, *right);
171 op, *right, *resultType)) {
180 if (is_low_precision_matrix_vector_multiply(*left, op, *right, *resultType)) {
188 rewrite_matrix_vector_multiply(context, *left, op, *right, *resultType);
202 std::move(right), resultType));
208 std::move(right), resultType);
240 this->right()->clone(),
247 " " + this->right()->description() + ")";