retain/release checker: More diagnostic refactoring.
llvm-svn: 63179
This commit is contained in:
		
							parent
							
								
									c4118ac79c
								
							
						
					
					
						commit
						758fda632b
					
				| 
						 | 
				
			
			@ -2331,36 +2331,24 @@ PathDiagnosticPiece* CFRefReport::VisitNode(const ExplodedNode<GRState>* N,
 | 
			
		|||
    
 | 
			
		||||
    Stmt* S = cast<PostStmt>(N->getLocation()).getStmt();
 | 
			
		||||
 | 
			
		||||
    if (CurrV.isOwned()) {
 | 
			
		||||
    if (CallExpr *CE = dyn_cast<CallExpr>(S)) {
 | 
			
		||||
      // Get the name of the callee (if it is available).
 | 
			
		||||
      SVal X = CurrSt.GetSVal(CE->getCallee());        
 | 
			
		||||
 | 
			
		||||
      if (loc::FuncVal* FV = dyn_cast<loc::FuncVal>(&X))
 | 
			
		||||
        os << "Call to function '" << FV->getDecl()->getNameAsString() <<'\'';
 | 
			
		||||
      else
 | 
			
		||||
          os << "Function call";
 | 
			
		||||
        
 | 
			
		||||
        os << " returns an object with a +1 retain count"
 | 
			
		||||
              " (owning reference).";
 | 
			
		||||
        os << "function call";
 | 
			
		||||
    }          
 | 
			
		||||
    else {
 | 
			
		||||
      assert (isa<ObjCMessageExpr>(S));
 | 
			
		||||
        os << "Method returns an object with a +1 retain count"
 | 
			
		||||
                " (owning reference).";
 | 
			
		||||
      }
 | 
			
		||||
      os << "Method returns an object with a ";
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    if (CurrV.isOwned())
 | 
			
		||||
        os << "+1 retain count (owning reference).";
 | 
			
		||||
    else {
 | 
			
		||||
      assert (CurrV.isNotOwned());
 | 
			
		||||
      
 | 
			
		||||
      if (isa<CallExpr>(S))
 | 
			
		||||
        os << "Function call returns an object with a +0 retain count"
 | 
			
		||||
              " (non-owning reference).";
 | 
			
		||||
      else {
 | 
			
		||||
        assert (isa<ObjCMessageExpr>(S));
 | 
			
		||||
        os << "Method returns an object with a +0 retain count"
 | 
			
		||||
              " (non-owning reference).";
 | 
			
		||||
      }      
 | 
			
		||||
      os << "+0 retain count (non-owning reference).";
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    FullSourceLoc Pos(S->getLocStart(), BR.getContext().getSourceManager());
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue