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. Log in to comment