]> granicus.if.org Git - clang/commitdiff
Make Token::setLength assert that the token is not an annotation token.
authorChris Lattner <sabre@nondot.org>
Tue, 6 Jan 2009 05:25:04 +0000 (05:25 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 6 Jan 2009 05:25:04 +0000 (05:25 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61791 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Lex/Token.h

index a661ba82afd4fac3c543ee2131f5fc732509f5e8..c0dd2b7837cd967e58d6e21b3e1d92ae6db88d0b 100644 (file)
@@ -87,12 +87,15 @@ public:
   /// offset in the current file.
   SourceLocation getLocation() const { return Loc; }
   unsigned getLength() const {
-    assert(!isAnnotationToken() && "Used Length on annotation token");
+    assert(!isAnnotationToken() && "Annotation tokens have no length field");
     return UintData;
   }
 
   void setLocation(SourceLocation L) { Loc = L; }
-  void setLength(unsigned Len) { UintData = Len; }
+  void setLength(unsigned Len) {
+    assert(!isAnnotationToken() && "Annotation tokens have no length field");
+    UintData = Len;
+  }
 
   SourceLocation getAnnotationEndLoc() const {
     assert(isAnnotationToken() && "Used AnnotEndLocID on non-annotation token");
@@ -120,6 +123,7 @@ public:
   /// startToken - Reset all flags to cleared.
   ///
   void startToken() {
+    Kind = tok::unknown;
     Flags = 0;
     PtrData = 0;
     Loc = SourceLocation();