Skip to content

Multiple methods for initializing analysis values

Jason Zaugg requested to merge retronymm/asm:unfork/new-value into master

Introduces a number of methods that are called when initializing or updating abstract values in an analyzer frame.

Before this commit, Analyzer.analyze and Frame.execute would always call Interpreter.newValue for initializing or updating frame values.

Having multiple methods allows users to return more precise values for the individual cases. For example, in a nullness analysis, the initial value for the this parameter of an instance method can be set to not-null.

Merge request reports