#include "src/sksl/SkSLOperator.h"
#include "include/core/SkTypes.h"
#include "src/base/SkStringView.h"
#include "src/sksl/SkSLBuiltinTypes.h"
#include "src/sksl/SkSLContext.h"
#include "src/sksl/SkSLProgramSettings.h"
#include "src/sksl/ir/SkSLType.h"
#include <memory>
namespace SkSL {
OperatorPrecedence Operator::getBinaryPrecedence() const { … }
const char* Operator::operatorName() const { … }
std::string_view Operator::tightOperatorName() const { … }
bool Operator::isAssignment() const { … }
bool Operator::isCompoundAssignment() const { … }
Operator Operator::removeAssignment() const { … }
bool Operator::isRelational() const { … }
bool Operator::isOnlyValidForIntegralTypes() const { … }
bool Operator::isValidForMatrixOrVector() const { … }
bool Operator::isMatrixMultiply(const Type& left, const Type& right) const { … }
bool Operator::determineBinaryType(const Context& context,
const Type& left,
const Type& right,
const Type** outLeftType,
const Type** outRightType,
const Type** outResultType) const { … }
}