#include "src/sksl/ir/SkSLFieldAccess.h"
#include "include/core/SkSpan.h"
#include "include/core/SkTypes.h"
#include "include/private/base/SkTArray.h"
#include "src/sksl/SkSLAnalysis.h"
#include "src/sksl/SkSLBuiltinTypes.h"
#include "src/sksl/SkSLConstantFolder.h"
#include "src/sksl/SkSLContext.h"
#include "src/sksl/SkSLDefines.h"
#include "src/sksl/SkSLErrorReporter.h"
#include "src/sksl/SkSLOperator.h"
#include "src/sksl/ir/SkSLConstructorStruct.h"
#include "src/sksl/ir/SkSLFunctionDeclaration.h"
#include "src/sksl/ir/SkSLMethodReference.h"
#include "src/sksl/ir/SkSLSetting.h"
#include "src/sksl/ir/SkSLSymbol.h"
#include "src/sksl/ir/SkSLSymbolTable.h"
#include <cstddef>
namespace SkSL {
std::unique_ptr<Expression> FieldAccess::Convert(const Context& context,
Position pos,
std::unique_ptr<Expression> base,
std::string_view field) { … }
static std::unique_ptr<Expression> extract_field(Position pos,
const ConstructorStruct& ctor,
int fieldIndex) { … }
std::unique_ptr<Expression> FieldAccess::Make(const Context& context,
Position pos,
std::unique_ptr<Expression> base,
int fieldIndex,
OwnerKind ownerKind) { … }
size_t FieldAccess::initialSlot() const { … }
std::string FieldAccess::description(OperatorPrecedence) const { … }
}