1/*
2 * Copyright 2016 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8#ifndef SKSL_NOP
9#define SKSL_NOP
10
11#include "src/sksl/ir/SkSLStatement.h"
12#include "src/sksl/ir/SkSLSymbolTable.h"
13
14namespace SkSL {
15
16/**
17 * A no-op statement that does nothing.
18 */
19struct Nop : public Statement {
20 Nop()
21 : INHERITED(-1, kNop_Kind) {}
22
23 bool isEmpty() const override {
24 return true;
25 }
26
27 String description() const override {
28 return String(";");
29 }
30
31 int nodeCount() const override {
32 return 0;
33 }
34
35 std::unique_ptr<Statement> clone() const override {
36 return std::unique_ptr<Statement>(new Nop());
37 }
38
39 typedef Statement INHERITED;
40};
41
42} // namespace SkSL
43
44#endif
45