Lines Matching defs:PInfo

442 setStateForVarOrTmp(ConsumedStateMap *StateMap, const PropagationInfo &PInfo,
444 assert(PInfo.isVar() || PInfo.isTmp());
446 if (PInfo.isVar())
447 StateMap->setState(PInfo.getVar(), State);
449 StateMap->setState(PInfo.getTmp(), State);
490 void checkCallability(const PropagationInfo &PInfo,
544 PropagationInfo& PInfo = Entry->second;
545 ConsumedState CS = PInfo.getAsState(StateMap);
548 if (NS != CS_None && PInfo.isPointerToValue())
549 setStateForVarOrTmp(StateMap, PInfo, NS);
557 PropagationInfo& PInfo = Entry->second;
558 return PInfo.getAsState(StateMap);
567 PropagationInfo& PInfo = Entry->second;
568 if (PInfo.isPointerToValue())
569 setStateForVarOrTmp(StateMap, PInfo, NS);
575 void ConsumedStmtVisitor::checkCallability(const PropagationInfo &PInfo,
578 assert(!PInfo.isTest());
584 if (PInfo.isVar()) {
585 ConsumedState VarState = StateMap->getState(PInfo.getVar());
591 FunDecl->getNameAsString(), PInfo.getVar()->getNameAsString(),
594 ConsumedState TmpState = PInfo.getAsState(StateMap);
626 PropagationInfo PInfo = Entry->second;
630 ConsumedState ParamState = PInfo.getAsState(StateMap);
644 setStateForVarOrTmp(StateMap, PInfo, mapReturnTypestateAttrState(RT));
646 setStateForVarOrTmp(StateMap, PInfo, consumed::CS_Consumed);
650 setStateForVarOrTmp(StateMap, PInfo, consumed::CS_Unknown);
659 PropagationInfo PInfo = Entry->second;
660 checkCallability(PInfo, FunD, Call->getExprLoc());
663 if (PInfo.isVar()) {
664 StateMap->setState(PInfo.getVar(), mapSetTypestateAttrState(STA));
667 else if (PInfo.isTmp()) {
668 StateMap->setState(PInfo.getTmp(), mapSetTypestateAttrState(STA));
672 else if (isTestingFunction(FunD) && PInfo.isVar()) {
674 PropagationInfo(PInfo.getVar(), testsFor(FunD))));
917 PropagationInfo PInfo = VIT->second;
918 ConsumedState St = PInfo.getAsState(StateMap);
946 static void splitVarStateForIfBinOp(const PropagationInfo &PInfo,
949 const VarTestResult &LTest = PInfo.getLTest(),
950 &RTest = PInfo.getRTest();
956 if (PInfo.testEffectiveOp() == EO_And) {
984 if (PInfo.testEffectiveOp() == EO_And) {
1228 PropagationInfo PInfo;
1237 PInfo = Visitor.getInfo(Cond);
1238 if (!PInfo.isValid() && isa<BinaryOperator>(Cond))
1239 PInfo = Visitor.getInfo(cast<BinaryOperator>(Cond)->getRHS());
1241 if (PInfo.isVarTest()) {
1244 splitVarStateForIf(IfNode, PInfo.getVarTest(), CurrStates.get(),
1246 } else if (PInfo.isBinTest()) {
1247 CurrStates->setSource(PInfo.testSourceNode());
1248 FalseStates->setSource(PInfo.testSourceNode());
1249 splitVarStateForIfBinOp(PInfo, CurrStates.get(), FalseStates.get());
1255 PInfo = Visitor.getInfo(BinOp->getLHS());
1256 if (!PInfo.isVarTest()) {
1258 PInfo = Visitor.getInfo(BinOp->getRHS());
1260 if (!PInfo.isVarTest())
1270 const VarTestResult &Test = PInfo.getVarTest();