================
@@ -157,10 +157,18 @@ class Environment {
};
/// Creates an environment that uses `DACtx` to store objects that encompass
- /// the state of a program.
+ /// the state of a program. `FlowConditionToken` sets the flow condition
+ /// associated with the environment. Generally, new environments should be
+ /// initialized with a fresh token, by using one of the other
+ /// constructors. This constructor is for specialized use, including
+ /// deserialization and delegation from other constructors.
+ Environment(DataflowAnalysisContext &DACtx, Atom FlowConditionToken)
----------------
ymand wrote:
The problem is that the exact serialization choice is up to clients -- there
isn't one facility, like there is for Formula. The motivating example is
Nullability inference, where we'll be serializing to custom protobufs. So, I
don't think that C++'s encapsulation mechanism is a good fit here.
I'm open to alternative designs -- e.g. should we consider defining a protobuf
message here, etc.
https://github.com/llvm/llvm-project/pull/152487
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits