/*
|
* Copyright 2016 Google Inc.
|
*
|
* Use of this source code is governed by a BSD-style license that can be
|
* found in the LICENSE file.
|
*/
|
|
#ifndef SKSL_ASTWHILESTATEMENT
|
#define SKSL_ASTWHILESTATEMENT
|
|
#include "SkSLASTStatement.h"
|
|
namespace SkSL {
|
|
/**
|
* A 'while' statement.
|
*/
|
struct ASTWhileStatement : public ASTStatement {
|
ASTWhileStatement(int offset, std::unique_ptr<ASTExpression> test,
|
std::unique_ptr<ASTStatement> statement)
|
: INHERITED(offset, kWhile_Kind)
|
, fTest(std::move(test))
|
, fStatement(std::move(statement)) {}
|
|
String description() const override {
|
return "while (" + fTest->description() + ") " + fStatement->description();
|
}
|
|
const std::unique_ptr<ASTExpression> fTest;
|
const std::unique_ptr<ASTStatement> fStatement;
|
|
typedef ASTStatement INHERITED;
|
};
|
|
} // namespace
|
|
#endif
|