Lines Matching defs:context
80 std::unique_ptr<Statement> ForStatement::Convert(const Context& context, int line,
91 context.fErrors->error(initializer->fLine, "invalid for loop initializer");
96 test = context.fTypes.fBool->coerceExpression(std::move(test), context);
104 if (next && next->isIncomplete(context)) {
109 if (context.fConfig->strictES2Mode()) {
112 next.get(), statement.get(), context.fErrors);
123 if (Analysis::DetectVarDeclarationWithoutScope(*statement, context.fErrors)) {
136 scope.push_back(ForStatement::Make(context, line, /*initializer=*/nullptr,
142 return ForStatement::Make(context, line, std::move(initializer), std::move(test),
147 std::unique_ptr<Statement> ForStatement::ConvertWhile(const Context& context, int line,
151 if (context.fConfig->strictES2Mode()) {
152 context.fErrors->error(line, "while loops are not supported");
155 return ForStatement::Convert(context, line, /*initializer=*/nullptr, std::move(test),
159 std::unique_ptr<Statement> ForStatement::Make(const Context& context, int line,
168 SkASSERT(!test || test->type() == *context.fTypes.fBool);
170 SkASSERT(unrollInfo || !context.fConfig->strictES2Mode());