summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MIRParser/MILexer.h
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/CodeGen/MIRParser/MILexer.h')
-rw-r--r--llvm/lib/CodeGen/MIRParser/MILexer.h32
1 files changed, 9 insertions, 23 deletions
diff --git a/llvm/lib/CodeGen/MIRParser/MILexer.h b/llvm/lib/CodeGen/MIRParser/MILexer.h
index 79bcb7fce01..752344ed050 100644
--- a/llvm/lib/CodeGen/MIRParser/MILexer.h
+++ b/llvm/lib/CodeGen/MIRParser/MILexer.h
@@ -94,26 +94,19 @@ struct MIToken {
private:
TokenKind Kind;
- unsigned StringOffset;
- bool HasStringValue;
StringRef Range;
- std::string StringValue;
+ StringRef StringValue;
+ std::string StringValueStorage;
APSInt IntVal;
public:
- MIToken(TokenKind Kind, StringRef Range, unsigned StringOffset = 0)
- : Kind(Kind), StringOffset(StringOffset), HasStringValue(false),
- Range(Range) {}
+ MIToken() : Kind(Error) {}
- MIToken(TokenKind Kind, StringRef Range, std::string StringValue,
- unsigned StringOffset = 0)
- : Kind(Kind), StringOffset(StringOffset), HasStringValue(true),
- Range(Range), StringValue(std::move(StringValue)) {}
+ MIToken &reset(TokenKind Kind, StringRef Range);
- MIToken(TokenKind Kind, StringRef Range, const APSInt &IntVal,
- unsigned StringOffset = 0)
- : Kind(Kind), StringOffset(StringOffset), HasStringValue(false),
- Range(Range), IntVal(IntVal) {}
+ MIToken &setStringValue(StringRef StrVal);
+ MIToken &setOwnedStringValue(std::string StrVal);
+ MIToken &setIntegerValue(APSInt IntVal);
TokenKind kind() const { return Kind; }
@@ -141,17 +134,10 @@ public:
StringRef::iterator location() const { return Range.begin(); }
- /// Return the token's raw string value.
- ///
- /// If the string value is quoted, this method returns that quoted string as
- /// it is, without unescaping the string value.
- StringRef rawStringValue() const { return Range.drop_front(StringOffset); }
+ StringRef range() const { return Range; }
/// Return the token's string value.
- StringRef stringValue() const {
- return HasStringValue ? StringRef(StringValue)
- : Range.drop_front(StringOffset);
- }
+ StringRef stringValue() const { return StringValue; }
const APSInt &integerValue() const { return IntVal; }
OpenPOWER on IntegriCloud