// // Copyright 2002 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. //
#include"compiler/translator/Operator_autogen.h"
#include"common/debug.h"
namespace sh
{
constchar *GetOperatorString(TOperator op)
{ switch (op)
{ // Note: EOpNull and EOpCall* can't be handled here.
case EOpNegative: return"-"; case EOpPositive: return"+"; case EOpLogicalNot: return"!"; case EOpBitwiseNot: return"~";
case EOpPostIncrement: return"++"; case EOpPostDecrement: return"--"; case EOpPreIncrement: return"++"; case EOpPreDecrement: return"--";
case EOpArrayLength: return".length()";
case EOpAdd: return"+"; case EOpSub: return"-"; case EOpMul: return"*"; case EOpDiv: return"/"; case EOpIMod: return"%";
case EOpEqual: return"=="; case EOpNotEqual: return"!="; case EOpLessThan: return"<"; case EOpGreaterThan: return">"; case EOpLessThanEqual: return"<="; case EOpGreaterThanEqual: return">=";
case EOpComma: return",";
// Fall-through. case EOpVectorTimesScalar: case EOpVectorTimesMatrix: case EOpMatrixTimesVector: case EOpMatrixTimesScalar: case EOpMatrixTimesMatrix: return"*";
case EOpLogicalOr: return"||"; case EOpLogicalXor: return"^^"; case EOpLogicalAnd: return"&&";
case EOpBitShiftLeft: return"<<"; case EOpBitShiftRight: return">>";
case EOpBitwiseAnd: return"&"; case EOpBitwiseXor: return"^"; case EOpBitwiseOr: return"|";
// Fall-through. case EOpIndexDirect: case EOpIndexIndirect: return"[]";
case EOpIndexDirectStruct: case EOpIndexDirectInterfaceBlock: return".";
case EOpAssign: case EOpInitialize: return"="; case EOpAddAssign: return"+="; case EOpSubAssign: return"-=";
// Fall-through. case EOpMulAssign: case EOpVectorTimesMatrixAssign: case EOpVectorTimesScalarAssign: case EOpMatrixTimesScalarAssign: case EOpMatrixTimesMatrixAssign: return"*=";
case EOpDivAssign: return"/="; case EOpIModAssign: return"%="; case EOpBitShiftLeftAssign: return"<<="; case EOpBitShiftRightAssign: return">>="; case EOpBitwiseAndAssign: return"&="; case EOpBitwiseXorAssign: return"^="; case EOpBitwiseOrAssign: return"|=";
default:
UNREACHABLE(); break;
} return"";
}
bool IsAssignment(TOperator op)
{ switch (op)
{ case EOpPostIncrement: case EOpPostDecrement: case EOpPreIncrement: case EOpPreDecrement: case EOpAssign: case EOpAddAssign: case EOpSubAssign: case EOpMulAssign: case EOpVectorTimesMatrixAssign: case EOpVectorTimesScalarAssign: case EOpMatrixTimesScalarAssign: case EOpMatrixTimesMatrixAssign: case EOpDivAssign: case EOpIModAssign: case EOpBitShiftLeftAssign: case EOpBitShiftRightAssign: case EOpBitwiseAndAssign: case EOpBitwiseXorAssign: case EOpBitwiseOrAssign: returntrue; default: returnfalse;
}
}
} // namespace sh
Messung V0.5
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.