Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit d7ab450

Browse files
johnstiles-googleSkia Commit-Bot
authored andcommitted
Traverse FieldAccess' base expression in visitExpression.
The absence of the FieldAccess::fBase traversal appears to be a simple oversight. This doesn't appear to affect any tests. Change-Id: I82a5828acedd00f62bf177bd2cf70d67071a83fa Reviewed-on: https://skia-review.googlesource.com/c/skia/+/319413 Auto-Submit: John Stiles <[email protected]> Reviewed-by: Ethan Nicholas <[email protected]> Commit-Queue: John Stiles <[email protected]>
1 parent 3b88c07 commit d7ab450

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

src/sksl/SkSLAnalysis.cpp

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ class MergeSampleUsageVisitor : public ProgramVisitor {
7878

7979
SampleUsage visit(const Program& program) {
8080
fUsage = SampleUsage(); // reset to none
81-
this->INHERITED::visit(program);
81+
INHERITED::visit(program);
8282
return fUsage;
8383
}
8484

@@ -125,7 +125,7 @@ class MergeSampleUsageVisitor : public ProgramVisitor {
125125
}
126126
}
127127

128-
return this->INHERITED::visitExpression(e);
128+
return INHERITED::visitExpression(e);
129129
}
130130

131131
using INHERITED = ProgramVisitor;
@@ -141,7 +141,7 @@ class BuiltinVariableVisitor : public ProgramVisitor {
141141
const VariableReference& var = e.as<VariableReference>();
142142
return var.fVariable->fModifiers.fLayout.fBuiltin == fBuiltin;
143143
}
144-
return this->INHERITED::visitExpression(e);
144+
return INHERITED::visitExpression(e);
145145
}
146146

147147
int fBuiltin;
@@ -160,17 +160,17 @@ class NodeCountVisitor : public ProgramVisitor {
160160

161161
bool visitExpression(const Expression& e) override {
162162
++fCount;
163-
return this->INHERITED::visitExpression(e);
163+
return INHERITED::visitExpression(e);
164164
}
165165

166166
bool visitProgramElement(const ProgramElement& p) override {
167167
++fCount;
168-
return this->INHERITED::visitProgramElement(p);
168+
return INHERITED::visitProgramElement(p);
169169
}
170170

171171
bool visitStatement(const Statement& s) override {
172172
++fCount;
173-
return this->INHERITED::visitStatement(s);
173+
return INHERITED::visitStatement(s);
174174
}
175175

176176
private:
@@ -197,7 +197,7 @@ class VariableWriteVisitor : public ProgramVisitor {
197197
return true;
198198
}
199199
}
200-
return this->INHERITED::visitExpression(e);
200+
return INHERITED::visitExpression(e);
201201
}
202202

203203
private:
@@ -254,7 +254,6 @@ bool ProgramVisitor::visitExpression(const Expression& e) {
254254
case Expression::Kind::kBoolLiteral:
255255
case Expression::Kind::kDefined:
256256
case Expression::Kind::kExternalValue:
257-
case Expression::Kind::kFieldAccess:
258257
case Expression::Kind::kFloatLiteral:
259258
case Expression::Kind::kFunctionReference:
260259
case Expression::Kind::kIntLiteral:
@@ -279,6 +278,8 @@ bool ProgramVisitor::visitExpression(const Expression& e) {
279278
if (this->visitExpression(*arg)) { return true; }
280279
}
281280
return false; }
281+
case Expression::Kind::kFieldAccess:
282+
return this->visitExpression(*e.as<FieldAccess>().fBase);
282283
case Expression::Kind::kFunctionCall: {
283284
const FunctionCall& c = e.as<FunctionCall>();
284285
for (const auto& arg : c.fArguments) {

0 commit comments

Comments
 (0)