Add isFOO() helpers. Fix getDirectory() and getFilename() for DIScope.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83180 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/llvm/Analysis/DebugInfo.h b/include/llvm/Analysis/DebugInfo.h
index c40cfb2..d19cd0b 100644
--- a/include/llvm/Analysis/DebugInfo.h
+++ b/include/llvm/Analysis/DebugInfo.h
@@ -98,6 +98,10 @@
     bool isScope() const;
     bool isCompileUnit() const;
     bool isLexicalBlock() const;
+    bool isSubrange() const;
+    bool isEnumerator() const;
+    bool isType() const;
+    bool isGlobal() const;
   };
 
   /// DISubrange - This is used to represent ranges, for array bounds.
@@ -131,8 +135,8 @@
     }
     virtual ~DIScope() {}
 
-    virtual const char *getFilename() const { return NULL; }
-    virtual const char *getDirectory() const { return NULL; }
+    const char *getFilename() const;
+    const char *getDirectory() const;
   };
 
   /// DICompileUnit - A wrapper for a compile unit.
@@ -438,6 +442,7 @@
         DbgNode = 0;
     }
     DIScope getContext() const       { return getFieldAs<DIScope>(1); }
+    const char *getDirectory() const { return getContext().getDirectory(); }
     const char *getFilename() const  { return getContext().getFilename(); }
   };