moved SkSL FunctionDefinition data into IRNode
Change-Id: Ia828de0793ee66301ba315f4593b4d7d69222b4e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/326717
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
diff --git a/src/sksl/SkSLMetalCodeGenerator.cpp b/src/sksl/SkSLMetalCodeGenerator.cpp
index 710bf60..985c9fe 100644
--- a/src/sksl/SkSLMetalCodeGenerator.cpp
+++ b/src/sksl/SkSLMetalCodeGenerator.cpp
@@ -936,7 +936,7 @@
void MetalCodeGenerator::writeFunction(const FunctionDefinition& f) {
fRTHeightName = fProgram.fInputs.fRTHeight ? "_globals->_anonInterface0->u_skRTHeight" : "";
const char* separator = "";
- if ("main" == f.fDeclaration.name()) {
+ if ("main" == f.declaration().name()) {
switch (fProgram.fKind) {
case Program::kFragment_Kind:
this->write("fragment Outputs fragmentMain");
@@ -1006,11 +1006,11 @@
}
separator = ", ";
} else {
- this->writeType(f.fDeclaration.returnType());
+ this->writeType(f.declaration().returnType());
this->write(" ");
- this->writeName(f.fDeclaration.name());
+ this->writeName(f.declaration().name());
this->write("(");
- Requirements requirements = this->requirements(f.fDeclaration);
+ Requirements requirements = this->requirements(f.declaration());
if (requirements & kInputs_Requirement) {
this->write("Inputs _in");
separator = ", ";
@@ -1036,7 +1036,7 @@
separator = ", ";
}
}
- for (const auto& param : f.fDeclaration.parameters()) {
+ for (const auto& param : f.declaration().parameters()) {
this->write(separator);
separator = ", ";
this->writeModifiers(param->modifiers(), false);
@@ -1064,7 +1064,7 @@
SkASSERT(!fProgram.fSettings.fFragColorIsInOut);
- if (f.fDeclaration.name() == "main") {
+ if (f.declaration().name() == "main") {
this->writeGlobalInit();
this->writeLine(" Outputs _outputStruct;");
this->writeLine(" thread Outputs* _out = &_outputStruct;");
@@ -1075,13 +1075,13 @@
StringStream buffer;
fOut = &buffer;
fIndentation++;
- for (const std::unique_ptr<Statement>& stmt : f.fBody->as<Block>().children()) {
+ for (const std::unique_ptr<Statement>& stmt : f.body()->as<Block>().children()) {
if (!stmt->isEmpty()) {
this->writeStatement(*stmt);
this->writeLine();
}
}
- if (f.fDeclaration.name() == "main") {
+ if (f.declaration().name() == "main") {
switch (fProgram.fKind) {
case Program::kFragment_Kind:
this->writeLine("return *_out;");
@@ -1813,8 +1813,8 @@
for (const auto& e : fProgram.elements()) {
if (e->is<FunctionDefinition>()) {
const FunctionDefinition& def = e->as<FunctionDefinition>();
- if (&def.fDeclaration == &f) {
- Requirements reqs = this->requirements(def.fBody.get());
+ if (&def.declaration() == &f) {
+ Requirements reqs = this->requirements(def.body().get());
fRequirements[&f] = reqs;
return reqs;
}