Lines Matching refs:C
54 bool evalCall(const CallEvent &Call, CheckerContext &C) const;
55 void checkDeadSymbols(SymbolReaper &SR, CheckerContext &C) const;
79 CheckerContext &C) const;
81 CheckerContext &C) const;
83 CheckerContext &C) const;
85 CheckerContext &C) const;
87 CheckerContext &C) const;
89 CheckerContext &C) const;
91 CheckerContext &C) const;
93 CheckerContext &C) const;
105 static const NoteTag *getNoteTag(CheckerContext &C, in getNoteTag() argument
114 return C.getNoteTag( in getNoteTag()
139 static const NoteTag *getNoteTag(CheckerContext &C, in getNoteTag() argument
145 return C.getNoteTag( in getNoteTag()
199 CheckerContext &C, bool IsNonNullParam, in addCastTransition() argument
202 ProgramStateRef State = C.getState()->assume(DV, IsNonNullParam); in addCastTransition()
223 CastFromTy = alignReferenceTypes(CastFromTy, CastToTy, C.getASTContext()); in addCastTransition()
242 C.generateSink(State, C.getPredecessor()); in addCastTransition()
252 SVal V = CastSucceeds ? C.getSValBuilder().evalCast(DV, CastToTy, CastFromTy) in addCastTransition()
253 : C.getSValBuilder().makeNullWithType(CastToTy); in addCastTransition()
254 C.addTransition( in addCastTransition()
255 State->BindExpr(Call.getOriginExpr(), C.getLocationContext(), V, false), in addCastTransition()
256 getNoteTag(C, CastInfo, CastToTy, Object, CastSucceeds, IsKnownCast)); in addCastTransition()
261 ProgramStateRef State, CheckerContext &C, in addInstanceOfTransition() argument
291 CastToTy = C.getASTContext().getPointerType(CastToTy); in addInstanceOfTransition()
293 CastToTy = alignReferenceTypes(CastToTy, CastFromTy, C.getASTContext()); in addInstanceOfTransition()
316 C.addTransition( in addInstanceOfTransition()
317 NewState->BindExpr(Call.getOriginExpr(), C.getLocationContext(), in addInstanceOfTransition()
318 C.getSValBuilder().makeTruthVal(true)), in addInstanceOfTransition()
319 getNoteTag(C, CastInfo, CastToTy, Call.getArgExpr(0), true, in addInstanceOfTransition()
324 C.generateSink(NewState, C.getPredecessor()); in addInstanceOfTransition()
330 C.addTransition( in addInstanceOfTransition()
331 State->BindExpr(Call.getOriginExpr(), C.getLocationContext(), in addInstanceOfTransition()
332 C.getSValBuilder().makeTruthVal(false)), in addInstanceOfTransition()
333 getNoteTag(C, CastToTyVec, Call.getArgExpr(0), IsAnyKnown)); in addInstanceOfTransition()
343 CheckerContext &C, in evalNonNullParamNonNullReturn() argument
345 addCastTransition(Call, DV, C, /*IsNonNullParam=*/true, in evalNonNullParamNonNullReturn()
351 CheckerContext &C) { in evalNonNullParamNullReturn() argument
352 addCastTransition(Call, DV, C, /*IsNonNullParam=*/true, in evalNonNullParamNullReturn()
358 CheckerContext &C) { in evalNullParamNullReturn() argument
359 if (ProgramStateRef State = C.getState()->assume(DV, false)) in evalNullParamNullReturn()
360 C.addTransition(State->BindExpr(Call.getOriginExpr(), in evalNullParamNullReturn()
361 C.getLocationContext(), in evalNullParamNullReturn()
362 C.getSValBuilder().makeNullWithType( in evalNullParamNullReturn()
365 C.getNoteTag("Assuming null pointer is passed into cast", in evalNullParamNullReturn()
370 CheckerContext &C) const { in evalCast()
371 evalNonNullParamNonNullReturn(Call, DV, C, /*IsCheckedCast=*/true); in evalCast()
376 CheckerContext &C) const { in evalDynCast()
377 evalNonNullParamNonNullReturn(Call, DV, C); in evalDynCast()
378 evalNonNullParamNullReturn(Call, DV, C); in evalDynCast()
383 CheckerContext &C) const { in evalCastOrNull()
384 evalNonNullParamNonNullReturn(Call, DV, C); in evalCastOrNull()
385 evalNullParamNullReturn(Call, DV, C); in evalCastOrNull()
390 CheckerContext &C) const { in evalDynCastOrNull()
391 evalNonNullParamNonNullReturn(Call, DV, C); in evalDynCastOrNull()
392 evalNonNullParamNullReturn(Call, DV, C); in evalDynCastOrNull()
393 evalNullParamNullReturn(Call, DV, C); in evalDynCastOrNull()
402 CheckerContext &C, in evalZeroParamNonNullReturn() argument
404 addCastTransition(Call, DV, C, /*IsNonNullParam=*/true, in evalZeroParamNonNullReturn()
410 CheckerContext &C) { in evalZeroParamNullReturn() argument
411 addCastTransition(Call, DV, C, /*IsNonNullParam=*/true, in evalZeroParamNullReturn()
417 CheckerContext &C) const { in evalCastAs()
418 evalZeroParamNonNullReturn(Call, DV, C, /*IsCheckedCast=*/true); in evalCastAs()
422 CheckerContext &C) const { in evalGetAs()
423 evalZeroParamNonNullReturn(Call, DV, C); in evalGetAs()
424 evalZeroParamNullReturn(Call, DV, C); in evalGetAs()
432 CheckerContext &C) const { in evalIsa()
434 std::tie(NonNullState, NullState) = C.getState()->assume(DV); in evalIsa()
437 addInstanceOfTransition(Call, DV, NonNullState, C, /*IsInstanceOf=*/true); in evalIsa()
438 addInstanceOfTransition(Call, DV, NonNullState, C, /*IsInstanceOf=*/false); in evalIsa()
442 C.generateSink(NullState, C.getPredecessor()); in evalIsa()
448 CheckerContext &C) const { in evalIsaAndNonNull()
450 std::tie(NonNullState, NullState) = C.getState()->assume(DV); in evalIsaAndNonNull()
453 addInstanceOfTransition(Call, DV, NonNullState, C, /*IsInstanceOf=*/true); in evalIsaAndNonNull()
454 addInstanceOfTransition(Call, DV, NonNullState, C, /*IsInstanceOf=*/false); in evalIsaAndNonNull()
458 addInstanceOfTransition(Call, DV, NullState, C, /*IsInstanceOf=*/false); in evalIsaAndNonNull()
467 CheckerContext &C) const { in evalCall()
513 Check(this, Call, *DV, C); in evalCall()
518 CheckerContext &C) const { in checkDeadSymbols()
519 C.addTransition(removeDeadCasts(C.getState(), SR)); in checkDeadSymbols()