| Index: src/sksl/ir/SkSLSymbolTable.cpp
|
| diff --git a/src/sksl/ir/SkSLSymbolTable.cpp b/src/sksl/ir/SkSLSymbolTable.cpp
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..3c4de60a31a923f1a1743eaaf3deb7575434ecd1
|
| --- /dev/null
|
| +++ b/src/sksl/ir/SkSLSymbolTable.cpp
|
| @@ -0,0 +1,29 @@
|
| +/*
|
| + * Copyright 2016 Google Inc.
|
| + *
|
| + * Use of this source code is governed by a BSD-style license that can be
|
| + * found in the LICENSE file.
|
| + */
|
| +
|
| + #include "SkSLSymbolTable.h"
|
| +
|
| +namespace SkSL {
|
| +
|
| +std::vector<std::shared_ptr<FunctionDeclaration>> get_functions(std::shared_ptr<Symbol> s) {
|
| + std::vector<std::shared_ptr<FunctionDeclaration>> result;
|
| + switch (s->fKind) {
|
| + case Symbol::kFunctionDeclaration_Kind:
|
| + result.push_back(std::static_pointer_cast<FunctionDeclaration>(s));
|
| + break;
|
| + case Symbol::kUnresolvedFunction_Kind:
|
| + for (auto f : std::static_pointer_cast<UnresolvedFunction>(s)->fFunctions) {
|
| + result.push_back(f);
|
| + }
|
| + break;
|
| + default:
|
| + break;
|
| + }
|
| + return result;
|
| +}
|
| +
|
| +} // namespace
|
|
|