This patch adds the ability to context-sensitively analyze method bodies, by moving ThisPointeeLoc from DataflowAnalysisContext to Environment, and adding code in pushCall to set it.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp | ||
---|---|---|
218 | It can be null if the argument isn't modeled and there's no value assigned to its storage location. |
clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp | ||
---|---|---|
218 | Hmm I don't quite follow; Arg just comes from calling getImplicitObjectArgument on the CXXMemberCallExpr, right? So shouldn't it only depend on the AST, and be completely independent of what we do or don't model? |
clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp | ||
---|---|---|
218 | Ah, right. Well, I'm not familiar with the details, but apparently it returns null in some cases. |
Let's add a brief comment explaining what this is and when it is expected to be non-null.