Lazy property computation is ordering dependent

Issue #147 resolved
errt created an issue

The following code produces nondeterministic results:

PurityAnalysis.startLazily(project, propertyStore)
propertyStore(someMethod, Purity.key)
VirtualMethodPurityAnalysis.startLazily(project, propertyStore)
propertyStore.waitOnPropertyComputationCompletion()

while this one is deterministic:

VirtualMethodPurityAnalysis.startLazily(project, propertyStore)
PurityAnalysis.startLazily(project, propertyStore)
propertyStore(someMethod, Purity.key)
propertyStore.waitOnPropertyComputationCompletion()

Note that we are not interested in the result of the propertyStore.apply. This is just to schedule analysis of some entities as we have no eager analysis at all. The nondeterministic results appear after the waitOnPropertyComputationCompletion().

Comments (1)

  1. Michael Eichberg repo owner

    I close this issue, because the referenced property store implementation is no longer available and the new implementations do not seem to exhibit this problematic behavior.

  2. Log in to comment