chromium/third_party/angle/src/compiler/preprocessor/MacroExpander.cpp

//
// Copyright 2011 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/preprocessor/MacroExpander.h"

#include <GLSLANG/ShaderLang.h>
#include <algorithm>

#include "common/debug.h"
#include "compiler/preprocessor/DiagnosticsBase.h"
#include "compiler/preprocessor/Token.h"

namespace angle
{

namespace pp
{

namespace
{

const size_t kMaxContextTokens =;

class TokenLexer : public Lexer
{};

}  // anonymous namespace

class [[nodiscard]] MacroExpander::ScopedMacroReenabler final : angle::NonCopyable
{};

MacroExpander::ScopedMacroReenabler::ScopedMacroReenabler(MacroExpander *expander)
    :{}

MacroExpander::ScopedMacroReenabler::~ScopedMacroReenabler()
{}

MacroExpander::MacroExpander(Lexer *lexer,
                             MacroSet *macroSet,
                             Diagnostics *diagnostics,
                             const PreprocessorSettings &settings,
                             bool parseDefined)
    :{}

MacroExpander::~MacroExpander()
{}

void MacroExpander::lex(Token *token)
{}

void MacroExpander::getToken(Token *token)
{}

void MacroExpander::ungetToken(const Token &token)
{}

bool MacroExpander::isNextTokenLeftParen()
{}

bool MacroExpander::pushMacro(std::shared_ptr<Macro> macro, const Token &identifier)
{}

void MacroExpander::popMacro()
{}

bool MacroExpander::expandMacro(const Macro &macro,
                                const Token &identifier,
                                std::vector<Token> *replacements)
{}

bool MacroExpander::collectMacroArgs(const Macro &macro,
                                     const Token &identifier,
                                     std::vector<MacroArg> *args,
                                     SourceLocation *closingParenthesisLocation)
{}

void MacroExpander::replaceMacroParams(const Macro &macro,
                                       const std::vector<MacroArg> &args,
                                       std::vector<Token> *replacements)
{}

bool MacroExpander::MacroContext::empty() const
{}

const Token &MacroExpander::MacroContext::get()
{}

void MacroExpander::MacroContext::unget()
{}

}  // namespace pp

}  // namespace angle