25 std::string_view
name,
35 return std::make_unique<SkSL::StructDefinition>(
pos,
type);
39 std::string
s =
"struct ";
42 for (
const auto&
f : this->
type().fields()) {
43 s +=
f.fLayout.description();
44 s +=
f.fModifierFlags.description();
46 s +=
f.fType->description();
SymbolTable * fSymbolTable
static std::unique_ptr< StructDefinition > Make(Position pos, const Type &type)
std::string description() const override
static std::unique_ptr< StructDefinition > Convert(const Context &context, Position pos, std::string_view name, skia_private::TArray< Field > fields)
const Type & type() const
T * add(const Context &context, std::unique_ptr< T > symbol)
std::string_view name() const
static std::unique_ptr< Type > MakeStructType(const Context &context, Position pos, std::string_view name, skia_private::TArray< Field > fields, bool interfaceBlock=false)
DEF_SWITCHES_START aot vmservice shared library name