bool isMatrix;
int matrixCols;
int matrixRows;
+
+protected:
+ TConstTraverser(TConstTraverser&);
+ TConstTraverser& operator=(TConstTraverser&);
};
bool TConstTraverser::visitAggregate(TVisit /* visit */, TIntermAggregate* node)
if (flag) {
singleConstantParam = true;
constructorType = node->getOp();
- size = node->getType().getObjectSize();
+ size = node->getType().computeNumComponents();
if (node->getType().isMatrix()) {
isMatrix = true;
void TConstTraverser::visitConstantUnion(TIntermConstantUnion* node)
{
TConstUnionArray leftUnionArray(unionArray);
- int instanceSize = type.getObjectSize();
+ int instanceSize = type.computeNumComponents();
if (index >= instanceSize)
return;
if (! singleConstantParam) {
- int rightUnionSize = node->getType().getObjectSize();
+ int rightUnionSize = node->getType().computeNumComponents();
const TConstUnionArray& rightUnionArray = node->getConstArray();
for (int i = 0; i < rightUnionSize; i++) {
const TConstUnionArray& rightUnionArray = node->getConstArray();
if (! isMatrix) {
int count = 0;
+ int nodeComps = node->getType().computeNumComponents();
for (int i = index; i < endIndex; i++) {
if (i >= instanceSize)
return;
(index)++;
- if (node->getType().getObjectSize() > 1)
+ if (nodeComps > 1)
count++;
}
} else {
// matrix from vector
int count = 0;
const int startIndex = index;
+ int nodeComps = node->getType().computeNumComponents();
for (int i = startIndex; i < endIndex; i++) {
if (i >= instanceSize)
return;
index++;
- if (node->getType().getObjectSize() > 1)
+ if (nodeComps > 1)
count++;
}
}