| Index: src/sksl/ir/SkSLFunctionDefinition.h
|
| diff --git a/src/sksl/ir/SkSLFunctionDefinition.h b/src/sksl/ir/SkSLFunctionDefinition.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..fceb5474cb7137ea355e6dc0d39ae4427dbebe30
|
| --- /dev/null
|
| +++ b/src/sksl/ir/SkSLFunctionDefinition.h
|
| @@ -0,0 +1,39 @@
|
| +/*
|
| + * 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_FUNCTIONDEFINITION
|
| +#define SKSL_FUNCTIONDEFINITION
|
| +
|
| +#include "SkSLBlock.h"
|
| +#include "SkSLFunctionDeclaration.h"
|
| +#include "SkSLProgramElement.h"
|
| +
|
| +namespace SkSL {
|
| +
|
| +/**
|
| + * A function definition (a declaration plus an associated block of code).
|
| + */
|
| +struct FunctionDefinition : public ProgramElement {
|
| + FunctionDefinition(Position position, std::shared_ptr<FunctionDeclaration> declaration,
|
| + std::unique_ptr<Block> body)
|
| + : INHERITED(position, kFunction_Kind)
|
| + , fDeclaration(std::move(declaration))
|
| + , fBody(std::move(body)) {}
|
| +
|
| + std::string description() const override {
|
| + return fDeclaration->description() + " " + fBody->description();
|
| + }
|
| +
|
| + const std::shared_ptr<FunctionDeclaration> fDeclaration;
|
| + const std::unique_ptr<Block> fBody;
|
| +
|
| + typedef ProgramElement INHERITED;
|
| +};
|
| +
|
| +} // namespace
|
| +
|
| +#endif
|
|
|