]> granicus.if.org Git - clang/commitdiff
[utils/ClangDataFormat.py] For invalid source locations just return
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Thu, 15 Nov 2012 20:59:00 +0000 (20:59 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Thu, 15 Nov 2012 20:59:00 +0000 (20:59 +0000)
"<invalid loc>" for summary.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168087 91177308-0d34-0410-b5e6-96231b3b80d8

utils/ClangDataFormat.py

index bde38111d2d6b865e9cffe40ed50c4018d86ec7a..23aaba22119b4a328d4b8082dcc94f19df3c5366 100644 (file)
@@ -34,10 +34,14 @@ def StringRef_summary(strref, internal_dict):
 class SourceLocation(object):
        def __init__(self, srcloc):
                self.srcloc = srcloc
+               self.ID = srcloc.GetChildAtIndex(0).GetValueAsUnsigned()
        
        def offset(self):
                return getValueFromExpression(self.srcloc, ".getOffset()").GetValueAsUnsigned()
 
+       def isInvalid(self):
+               return self.ID == 0
+
        def isMacro(self):
                return getValueFromExpression(self.srcloc, ".isMacroID()").GetValueAsUnsigned()
 
@@ -49,6 +53,8 @@ class SourceLocation(object):
                return print_str.GetSummary()
 
        def summary(self):
+               if self.isInvalid():
+                       return "<invalid loc>"
                desc = "(offset: %d, %s)" % (self.offset(), "macro" if self.isMacro() else "file")
                srcmgr_path = findObjectExpressionPath("clang::SourceManager", lldb.frame)
                if srcmgr_path: