Commit 3d0d9a48 by Olli Etuaho

Clean up TIntermTraverser usage

Remove default parameters from TIntermTraverser. Also clean up a few dead function declarations in traversers. TEST=angle_unittests, angle_end2end_tests BUG=angleproject:1037 Change-Id: I8d126c6c2d5b53e8b14e23e3d102f204a59323b3 Reviewed-on: https://chromium-review.googlesource.com/275184Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarZhenyao Mo <zmo@chromium.org> Tested-by: 's avatarOlli Etuaho <oetuaho@nvidia.com>
parent 1155ddd2
...@@ -12,7 +12,8 @@ class BuiltInFunctionEmulator::BuiltInFunctionEmulationMarker : public TIntermTr ...@@ -12,7 +12,8 @@ class BuiltInFunctionEmulator::BuiltInFunctionEmulationMarker : public TIntermTr
{ {
public: public:
BuiltInFunctionEmulationMarker(BuiltInFunctionEmulator &emulator) BuiltInFunctionEmulationMarker(BuiltInFunctionEmulator &emulator)
: mEmulator(emulator) : TIntermTraverser(true, false, false),
mEmulator(emulator)
{ {
} }
......
...@@ -18,6 +18,12 @@ namespace sh ...@@ -18,6 +18,12 @@ namespace sh
class FlagStd140Structs : public TIntermTraverser class FlagStd140Structs : public TIntermTraverser
{ {
public: public:
FlagStd140Structs()
: TIntermTraverser(true, false, false)
{
}
const std::vector<TIntermTyped *> getFlaggedNodes() const { return mFlaggedNodes; } const std::vector<TIntermTyped *> getFlaggedNodes() const { return mFlaggedNodes; }
protected: protected:
......
...@@ -25,7 +25,8 @@ class ForLoopUnrollMarker : public TIntermTraverser ...@@ -25,7 +25,8 @@ class ForLoopUnrollMarker : public TIntermTraverser
}; };
ForLoopUnrollMarker(UnrollCondition condition) ForLoopUnrollMarker(UnrollCondition condition)
: mUnrollCondition(condition), : TIntermTraverser(true, false, false),
mUnrollCondition(condition),
mSamplerArrayIndexIsFloatLoopIndex(false), mSamplerArrayIndexIsFloatLoopIndex(false),
mVisitSamplerArrayIndexNodeInsideLoop(false) mVisitSamplerArrayIndexNodeInsideLoop(false)
{ {
......
...@@ -26,7 +26,8 @@ class InitializeVariables : public TIntermTraverser ...@@ -26,7 +26,8 @@ class InitializeVariables : public TIntermTraverser
typedef TVector<InitVariableInfo> InitVariableInfoList; typedef TVector<InitVariableInfo> InitVariableInfoList;
InitializeVariables(const InitVariableInfoList &vars) InitializeVariables(const InitVariableInfoList &vars)
: mVariables(vars), : TIntermTraverser(true, false, false),
mVariables(vars),
mCodeInserted(false) mCodeInserted(false)
{ {
} }
......
...@@ -587,8 +587,7 @@ class TIntermTraverser : angle::NonCopyable ...@@ -587,8 +587,7 @@ class TIntermTraverser : angle::NonCopyable
{ {
public: public:
POOL_ALLOCATOR_NEW_DELETE(); POOL_ALLOCATOR_NEW_DELETE();
// TODO(zmo): remove default values. TIntermTraverser(bool preVisit, bool inVisit, bool postVisit)
TIntermTraverser(bool preVisit = true, bool inVisit = false, bool postVisit = false)
: preVisit(preVisit), : preVisit(preVisit),
inVisit(inVisit), inVisit(inVisit),
postVisit(postVisit), postVisit(postVisit),
......
...@@ -19,7 +19,8 @@ class NodeSearchTraverser : public TIntermTraverser ...@@ -19,7 +19,8 @@ class NodeSearchTraverser : public TIntermTraverser
{ {
public: public:
NodeSearchTraverser() NodeSearchTraverser()
: mFound(false) : TIntermTraverser(true, false, false),
mFound(false)
{} {}
bool found() const { return mFound; } bool found() const { return mFound; }
......
...@@ -17,7 +17,8 @@ class RegenerateStructNames : public TIntermTraverser ...@@ -17,7 +17,8 @@ class RegenerateStructNames : public TIntermTraverser
public: public:
RegenerateStructNames(const TSymbolTable &symbolTable, RegenerateStructNames(const TSymbolTable &symbolTable,
int shaderVersion) int shaderVersion)
: mSymbolTable(symbolTable), : TIntermTraverser(true, false, false),
mSymbolTable(symbolTable),
mShaderVersion(shaderVersion), mShaderVersion(shaderVersion),
mScopeDepth(0) {} mScopeDepth(0) {}
......
...@@ -14,7 +14,8 @@ class ScalarizeVecAndMatConstructorArgs : public TIntermTraverser ...@@ -14,7 +14,8 @@ class ScalarizeVecAndMatConstructorArgs : public TIntermTraverser
public: public:
ScalarizeVecAndMatConstructorArgs(sh::GLenum shaderType, ScalarizeVecAndMatConstructorArgs(sh::GLenum shaderType,
bool fragmentPrecisionHigh) bool fragmentPrecisionHigh)
: mTempVarCount(0), : TIntermTraverser(true, false, false),
mTempVarCount(0),
mShaderType(shaderType), mShaderType(shaderType),
mFragmentPrecisionHigh(fragmentPrecisionHigh) {} mFragmentPrecisionHigh(fragmentPrecisionHigh) {}
......
...@@ -12,7 +12,9 @@ ...@@ -12,7 +12,9 @@
namespace sh namespace sh
{ {
SearchSymbol::SearchSymbol(const TString &symbol) : mSymbol(symbol) SearchSymbol::SearchSymbol(const TString &symbol)
: TIntermTraverser(true, false, false),
mSymbol(symbol)
{ {
match = false; match = false;
} }
......
...@@ -22,7 +22,6 @@ class SeparateExpressionsTraverser : public TIntermTraverser ...@@ -22,7 +22,6 @@ class SeparateExpressionsTraverser : public TIntermTraverser
public: public:
SeparateExpressionsTraverser(); SeparateExpressionsTraverser();
void traverse(TIntermNode *node);
bool visitBinary(Visit visit, TIntermBinary *node) override; bool visitBinary(Visit visit, TIntermBinary *node) override;
bool visitAggregate(Visit visit, TIntermAggregate *node) override; bool visitAggregate(Visit visit, TIntermAggregate *node) override;
......
...@@ -21,7 +21,8 @@ class TFragmentOutSearcher : public TIntermTraverser ...@@ -21,7 +21,8 @@ class TFragmentOutSearcher : public TIntermTraverser
{ {
public: public:
TFragmentOutSearcher() TFragmentOutSearcher()
: mUsesGlFragColor(false), : TIntermTraverser(true, false, false),
mUsesGlFragColor(false),
mUsesGlFragData(false) mUsesGlFragData(false)
{ {
} }
......
...@@ -20,7 +20,10 @@ ...@@ -20,7 +20,10 @@
class UnfoldShortCircuitAST : public TIntermTraverser class UnfoldShortCircuitAST : public TIntermTraverser
{ {
public: public:
UnfoldShortCircuitAST() { } UnfoldShortCircuitAST()
: TIntermTraverser(true, false, false)
{
}
virtual bool visitBinary(Visit visit, TIntermBinary *); virtual bool visitBinary(Visit visit, TIntermBinary *);
}; };
......
...@@ -21,7 +21,6 @@ class UnfoldShortCircuitTraverser : public TIntermTraverser ...@@ -21,7 +21,6 @@ class UnfoldShortCircuitTraverser : public TIntermTraverser
public: public:
UnfoldShortCircuitTraverser(); UnfoldShortCircuitTraverser();
void traverse(TIntermNode *node);
bool visitBinary(Visit visit, TIntermBinary *node) override; bool visitBinary(Visit visit, TIntermBinary *node) override;
bool visitAggregate(Visit visit, TIntermAggregate *node) override; bool visitAggregate(Visit visit, TIntermAggregate *node) override;
bool visitSelection(Visit visit, TIntermSelection *node) override; bool visitSelection(Visit visit, TIntermSelection *node) override;
......
...@@ -26,7 +26,11 @@ class ValidateConstIndexExpr : public TIntermTraverser ...@@ -26,7 +26,11 @@ class ValidateConstIndexExpr : public TIntermTraverser
{ {
public: public:
ValidateConstIndexExpr(TLoopStack& stack) ValidateConstIndexExpr(TLoopStack& stack)
: mValid(true), mLoopStack(stack) {} : TIntermTraverser(true, false, false),
mValid(true),
mLoopStack(stack)
{
}
// Returns true if the parsed node represents a constant index expression. // Returns true if the parsed node represents a constant index expression.
bool isValid() const { return mValid; } bool isValid() const { return mValid; }
...@@ -51,7 +55,8 @@ class ValidateConstIndexExpr : public TIntermTraverser ...@@ -51,7 +55,8 @@ class ValidateConstIndexExpr : public TIntermTraverser
ValidateLimitations::ValidateLimitations(sh::GLenum shaderType, ValidateLimitations::ValidateLimitations(sh::GLenum shaderType,
TInfoSinkBase &sink) TInfoSinkBase &sink)
: mShaderType(shaderType), : TIntermTraverser(true, false, false),
mShaderType(shaderType),
mSink(sink), mSink(sink),
mNumErrors(0) mNumErrors(0)
{ {
......
...@@ -10,7 +10,8 @@ ...@@ -10,7 +10,8 @@
#include "compiler/translator/ParseContext.h" #include "compiler/translator/ParseContext.h"
ValidateOutputs::ValidateOutputs(TInfoSinkBase& sink, int maxDrawBuffers) ValidateOutputs::ValidateOutputs(TInfoSinkBase& sink, int maxDrawBuffers)
: mSink(sink), : TIntermTraverser(true, false, false),
mSink(sink),
mMaxDrawBuffers(maxDrawBuffers), mMaxDrawBuffers(maxDrawBuffers),
mNumErrors(0), mNumErrors(0),
mHasUnspecifiedOutputLocation(false) mHasUnspecifiedOutputLocation(false)
......
...@@ -134,7 +134,8 @@ CollectVariables::CollectVariables(std::vector<sh::Attribute> *attribs, ...@@ -134,7 +134,8 @@ CollectVariables::CollectVariables(std::vector<sh::Attribute> *attribs,
std::vector<sh::InterfaceBlock> *interfaceBlocks, std::vector<sh::InterfaceBlock> *interfaceBlocks,
ShHashFunction64 hashFunction, ShHashFunction64 hashFunction,
const TSymbolTable &symbolTable) const TSymbolTable &symbolTable)
: mAttribs(attribs), : TIntermTraverser(true, false, false),
mAttribs(attribs),
mOutputVariables(outputVariables), mOutputVariables(outputVariables),
mUniforms(uniforms), mUniforms(uniforms),
mVaryings(varyings), mVaryings(varyings),
......
...@@ -32,6 +32,7 @@ static const int GLSL_VERSION_420 = 420; ...@@ -32,6 +32,7 @@ static const int GLSL_VERSION_420 = 420;
TVersionGLSL::TVersionGLSL(sh::GLenum type, TVersionGLSL::TVersionGLSL(sh::GLenum type,
const TPragma &pragma, const TPragma &pragma,
ShShaderOutput output) ShShaderOutput output)
: TIntermTraverser(true, false, false)
{ {
if (output == SH_GLSL_130_OUTPUT) if (output == SH_GLSL_130_OUTPUT)
{ {
......
...@@ -27,7 +27,10 @@ class TOutputTraverser : public TIntermTraverser ...@@ -27,7 +27,10 @@ class TOutputTraverser : public TIntermTraverser
{ {
public: public:
TOutputTraverser(TInfoSinkBase &i) TOutputTraverser(TInfoSinkBase &i)
: sink(i) { } : TIntermTraverser(true, false, false),
sink(i)
{
}
TInfoSinkBase& sink; TInfoSinkBase& sink;
protected: protected:
......
...@@ -15,7 +15,8 @@ class TConstTraverser : public TIntermTraverser ...@@ -15,7 +15,8 @@ class TConstTraverser : public TIntermTraverser
public: public:
TConstTraverser(TConstantUnion *cUnion, bool singleConstParam, TConstTraverser(TConstantUnion *cUnion, bool singleConstParam,
TOperator constructType, TInfoSink &sink, TType &t) TOperator constructType, TInfoSink &sink, TType &t)
: error(false), : TIntermTraverser(true, false, false),
error(false),
mIndex(0), mIndex(0),
mUnionArray(cUnion), mUnionArray(cUnion),
mType(t), mType(t),
......
...@@ -20,12 +20,14 @@ class ConstantFinder : public TIntermTraverser ...@@ -20,12 +20,14 @@ class ConstantFinder : public TIntermTraverser
{ {
public: public:
ConstantFinder(const std::vector<T> &constantVector) ConstantFinder(const std::vector<T> &constantVector)
: mConstantVector(constantVector), : TIntermTraverser(true, false, false),
mConstantVector(constantVector),
mFound(false) mFound(false)
{} {}
ConstantFinder(const T &value) ConstantFinder(const T &value)
: mFound(false) : TIntermTraverser(true, false, false),
mFound(false)
{ {
mConstantVector.push_back(value); mConstantVector.push_back(value);
} }
......
...@@ -43,7 +43,8 @@ namespace { ...@@ -43,7 +43,8 @@ namespace {
class ArrayBoundsClamperMarker : public TIntermTraverser { class ArrayBoundsClamperMarker : public TIntermTraverser {
public: public:
ArrayBoundsClamperMarker() ArrayBoundsClamperMarker()
: mNeedsClamp(false) : TIntermTraverser(true, false, false),
mNeedsClamp(false)
{ {
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment