#include "ResourceScriptToken.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <cctype>
#include <cstdlib>
#include <utility>
usingnamespacellvm;
Kind;
static bool rcGetAsInteger(StringRef Representation, uint32_t &Num) { … }
RCToken::RCToken(RCToken::Kind RCTokenKind, StringRef Value)
: … { … }
uint32_t RCToken::intValue() const { … }
bool RCToken::isLongInt() const { … }
StringRef RCToken::value() const { … }
Kind RCToken::kind() const { … }
bool RCToken::isBinaryOp() const { … }
static Error getStringError(const Twine &message) { … }
namespace {
class Tokenizer { … };
void Tokenizer::skipCurrentLine() { … }
Expected<std::vector<RCToken>> Tokenizer::run() { … }
bool Tokenizer::advance(size_t Amount) { … }
bool Tokenizer::skipWhitespaces() { … }
Error Tokenizer::consumeToken(const Kind TokenKind) { … }
bool Tokenizer::willNowRead(StringRef FollowingChars) const { … }
bool Tokenizer::canStartIdentifier() const { … }
bool Tokenizer::canContinueIdentifier() const { … }
bool Tokenizer::canStartInt() const { … }
bool Tokenizer::canStartBlockComment() const { … }
bool Tokenizer::canStartLineComment() const { … }
bool Tokenizer::canContinueInt() const { … }
bool Tokenizer::canStartString() const { … }
bool Tokenizer::streamEof() const { … }
Kind Tokenizer::classifyCurrentToken() const { … }
void Tokenizer::processIdentifier(RCToken &Token) const { … }
}
namespace llvm {
Expected<std::vector<RCToken>> tokenizeRC(StringRef Input) { … }
}