#include <SkSLDoStatement.h>
A 'do' statement.
Definition at line 27 of file SkSLDoStatement.h.
◆ DoStatement()
Definition at line 31 of file SkSLDoStatement.h.
35 , fTest(std::move(
test)) {}
static constexpr Kind kIRNodeKind
std::unique_ptr< Statement > & statement()
◆ Convert()
Definition at line 20 of file SkSLDoStatement.cpp.
23 {
24 if (context.fConfig->strictES2Mode()) {
25 context.fErrors->error(
pos,
"do-while loops are not supported");
26 return nullptr;
27 }
28 test = context.fTypes.fBool->coerceExpression(std::move(
test), context);
30 return nullptr;
31 }
33 return nullptr;
34 }
36}
static std::unique_ptr< Statement > Make(const Context &context, Position pos, std::unique_ptr< Statement > stmt, std::unique_ptr< Expression > test)
bool DetectVarDeclarationWithoutScope(const Statement &stmt, ErrorReporter *errors=nullptr)
◆ description()
std::string SkSL::DoStatement::description |
( |
| ) |
const |
|
overridevirtual |
◆ Make()
Definition at line 38 of file SkSLDoStatement.cpp.
41 {
42 SkASSERT(!context.fConfig->strictES2Mode());
45 return std::make_unique<DoStatement>(
pos, std::move(stmt), std::move(
test));
46}
◆ statement() [1/2]
std::unique_ptr< Statement > & SkSL::DoStatement::statement |
( |
| ) |
|
|
inline |
◆ statement() [2/2]
const std::unique_ptr< Statement > & SkSL::DoStatement::statement |
( |
| ) |
const |
|
inline |
◆ test() [1/2]
std::unique_ptr< Expression > & SkSL::DoStatement::test |
( |
| ) |
|
|
inline |
◆ test() [2/2]
const std::unique_ptr< Expression > & SkSL::DoStatement::test |
( |
| ) |
const |
|
inline |
◆ kIRNodeKind
constexpr Kind SkSL::DoStatement::kIRNodeKind = Kind::kDo |
|
inlinestaticconstexpr |
The documentation for this class was generated from the following files: