#include "include/core/SkTypes.h"
#include "src/core/SkTHash.h"
#include "src/sksl/SkSLContext.h"
#include "src/sksl/SkSLModule.h"
#include "src/sksl/analysis/SkSLProgramUsage.h"
#include "src/sksl/ir/SkSLProgram.h"
#include "src/sksl/ir/SkSLProgramElement.h"
#include "src/sksl/ir/SkSLStructDefinition.h"
#include "src/sksl/ir/SkSLSymbol.h"
#include "src/sksl/ir/SkSLType.h"
#include "src/sksl/transform/SkSLTransform.h"
#include <memory>
#include <type_traits>
#include <vector>
usingnamespaceskia_private;
namespace SkSL {
static bool contains_builtin_struct(const ProgramUsage& usage) { … }
static void get_struct_definitions_from_module(
Program& program,
const Module& module,
std::vector<const ProgramElement*>* addedStructDefs) { … }
void Transform::FindAndDeclareBuiltinStructs(Program& program) { … }
}