forked from OSchip/llvm-project
MIR Parser: Move the function 'lexName'. NFC.
This commit moves the function 'lexName' to the start of the file so it can be reused by the function which will lex the named LLVM IR block references. llvm-svn: 243449
This commit is contained in:
parent
63c9fa01eb
commit
82a1cfdca2
|
@ -114,6 +114,26 @@ static Cursor lexStringConstant(
|
|||
return C;
|
||||
}
|
||||
|
||||
static Cursor lexName(
|
||||
Cursor C, MIToken &Token, MIToken::TokenKind Type,
|
||||
MIToken::TokenKind QuotedType, unsigned PrefixLength,
|
||||
function_ref<void(StringRef::iterator Loc, const Twine &)> ErrorCallback) {
|
||||
auto Range = C;
|
||||
C.advance(PrefixLength);
|
||||
if (C.peek() == '"') {
|
||||
if (Cursor R = lexStringConstant(C, ErrorCallback)) {
|
||||
Token = MIToken(QuotedType, Range.upto(R), PrefixLength);
|
||||
return R;
|
||||
}
|
||||
Token = MIToken(MIToken::Error, Range.remaining());
|
||||
return Range;
|
||||
}
|
||||
while (isIdentifierChar(C.peek()))
|
||||
C.advance();
|
||||
Token = MIToken(Type, Range.upto(C), PrefixLength);
|
||||
return C;
|
||||
}
|
||||
|
||||
static MIToken::TokenKind getIdentifierKind(StringRef Identifier) {
|
||||
return StringSwitch<MIToken::TokenKind>(Identifier)
|
||||
.Case("_", MIToken::underscore)
|
||||
|
@ -248,26 +268,6 @@ static Cursor maybeLexRegister(Cursor C, MIToken &Token) {
|
|||
return C;
|
||||
}
|
||||
|
||||
static Cursor lexName(
|
||||
Cursor C, MIToken &Token, MIToken::TokenKind Type,
|
||||
MIToken::TokenKind QuotedType, unsigned PrefixLength,
|
||||
function_ref<void(StringRef::iterator Loc, const Twine &)> ErrorCallback) {
|
||||
auto Range = C;
|
||||
C.advance(PrefixLength);
|
||||
if (C.peek() == '"') {
|
||||
if (Cursor R = lexStringConstant(C, ErrorCallback)) {
|
||||
Token = MIToken(QuotedType, Range.upto(R), PrefixLength);
|
||||
return R;
|
||||
}
|
||||
Token = MIToken(MIToken::Error, Range.remaining());
|
||||
return Range;
|
||||
}
|
||||
while (isIdentifierChar(C.peek()))
|
||||
C.advance();
|
||||
Token = MIToken(Type, Range.upto(C), PrefixLength);
|
||||
return C;
|
||||
}
|
||||
|
||||
static Cursor maybeLexGlobalValue(
|
||||
Cursor C, MIToken &Token,
|
||||
function_ref<void(StringRef::iterator Loc, const Twine &)> ErrorCallback) {
|
||||
|
|
Loading…
Reference in New Issue