Lines Matching defs:context
19 std::unique_ptr<Expression> TernaryExpression::Convert(const Context& context,
23 test = context.fTypes.fBool->coerceExpression(std::move(test), context);
32 if (!equalityOp.determineBinaryType(context, ifTrue->type(), ifFalse->type(),
35 context.fErrors->error(line, "ternary operator result mismatch: '" +
41 context.fErrors->error(line, "ternary expression of opaque type '" +
45 if (context.fConfig->strictES2Mode() && trueType->isOrContainsArray()) {
46 context.fErrors->error(line, "ternary operator result may not be an array (or struct "
50 ifTrue = trueType->coerceExpression(std::move(ifTrue), context);
54 ifFalse = falseType->coerceExpression(std::move(ifFalse), context);
58 return TernaryExpression::Make(context, std::move(test), std::move(ifTrue), std::move(ifFalse));
61 std::unique_ptr<Expression> TernaryExpression::Make(const Context& context,
67 SkASSERT(!context.fConfig->strictES2Mode() || !ifTrue->type().isOrContainsArray());