chromium/third_party/skia/src/sksl/ir/SkSLPrefixExpression.cpp

/*
 * Copyright 2020 Google LLC
 *
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

#include "src/sksl/ir/SkSLPrefixExpression.h"

#include "include/core/SkTypes.h"
#include "src/sksl/SkSLAnalysis.h"
#include "src/sksl/SkSLConstantFolder.h"
#include "src/sksl/SkSLContext.h"
#include "src/sksl/SkSLDefines.h"
#include "src/sksl/SkSLErrorReporter.h"
#include "src/sksl/SkSLOperator.h"
#include "src/sksl/SkSLProgramSettings.h"
#include "src/sksl/ir/SkSLBinaryExpression.h"
#include "src/sksl/ir/SkSLConstructorArray.h"
#include "src/sksl/ir/SkSLConstructorCompound.h"
#include "src/sksl/ir/SkSLConstructorDiagonalMatrix.h"
#include "src/sksl/ir/SkSLLiteral.h"
#include "src/sksl/ir/SkSLType.h"
#include "src/sksl/ir/SkSLVariableReference.h"

#include <cstddef>
#include <optional>

namespace SkSL {

static ExpressionArray negate_operands(const Context& context,
                                       Position pos,
                                       const ExpressionArray& operands);

static double negate_value(double value) {}

static double bitwise_not_value(double value) {}

static std::unique_ptr<Expression> apply_to_elements(const Context& context,
                                                     Position pos,
                                                     const Expression& expr,
                                                     double (*fn)(double)) {}

static std::unique_ptr<Expression> simplify_negation(const Context& context,
                                                     Position pos,
                                                     const Expression& originalExpr) {}

static ExpressionArray negate_operands(const Context& context,
                                       Position pos,
                                       const ExpressionArray& array) {}

static std::unique_ptr<Expression> negate_operand(const Context& context,
                                                  Position pos,
                                                  std::unique_ptr<Expression> value) {}

static std::unique_ptr<Expression> logical_not_operand(const Context& context,
                                                       Position pos,
                                                       std::unique_ptr<Expression> operand) {}

static std::unique_ptr<Expression> bitwise_not_operand(const Context& context,
                                                       Position pos,
                                                       std::unique_ptr<Expression> operand) {}

std::unique_ptr<Expression> PrefixExpression::Convert(const Context& context,
                                                      Position pos,
                                                      Operator op,
                                                      std::unique_ptr<Expression> base) {}

std::unique_ptr<Expression> PrefixExpression::Make(const Context& context,
                                                   Position pos,
                                                   Operator op,
                                                   std::unique_ptr<Expression> base) {}

std::string PrefixExpression::description(OperatorPrecedence parentPrecedence) const {}

}  // namespace SkSL