]> granicus.if.org Git - clang/commitdiff
Fix crash in code completion when an ObjCMethodDecl doesn't have an associated @inter...
authorTed Kremenek <kremenek@apple.com>
Mon, 31 May 2010 21:43:10 +0000 (21:43 +0000)
committerTed Kremenek <kremenek@apple.com>
Mon, 31 May 2010 21:43:10 +0000 (21:43 +0000)
Fixes <rdar://problem/8026215>.

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

lib/Sema/SemaCodeComplete.cpp

index 0b30da5d854f2c9dfaddd439449f5c2cffed60d5..dda4fc1a8030984adcc6f986a8e238c7076f28bb 100644 (file)
@@ -1573,10 +1573,13 @@ static void AddOrdinaryNameResults(Action::CodeCompletionContext CCC,
 
     if (SemaRef.getLangOptions().ObjC1) {
       // Add "super", if we're in an Objective-C class with a superclass.
-      if (ObjCMethodDecl *Method = SemaRef.getCurMethodDecl())
-        if (Method->getClassInterface()->getSuperClass())
-          Results.AddResult(Result("super"));
-      
+      if (ObjCMethodDecl *Method = SemaRef.getCurMethodDecl()) {
+        // The interface can be NULL.
+        if (ObjCInterfaceDecl *ID = Method->getClassInterface())
+          if (ID->getSuperClass())
+            Results.AddResult(Result("super"));
+      }
+
       AddObjCExpressionResults(Results, true);
     }