Abstraction that holds info about the expression and the different visitors.
We are using a lazy initialization for m_hasCflowPointcut field to allow to fully resolve each expression (that is f.e.
Helper class to have boolean operation on true / false and null, null is assumed to be undetermined, and "not null"="null"
A "false && null" will stay false, but a "true && null" will become undetermined (null).