tree 49243c64dae9986f5207e1c8e21d9a0da79fe76f
parent 4fcba01fb0ef69d91a8d795489154fbc2b0adf6e
author Christoffer Quist Adamsen <christofferqa@google.com> 1629798509 +0200
committer Christoffer Quist Adamsen <christofferqa@google.com> 1629798557 +0000

Fix issues in argument propagation

This fixes misc. issues in the new experimental argument propagation:

* This introduces four variants of BottomParameterState; one for each kind of parameter state (array type parameter, class type parameter, primitive type parameter, receiver parameter). This is needed because bottom.join(arrayTypeParameterState) should return a classTypeParameterState if bottom is stored for a class type parameter. To address this, we now use a special BottomClassTypeParameterState for class type parameters, such that we can implement bottomClassTypeParameterState.join(arrayTypeParameterState) to return a class type parameter state.

* The method clearInParameters() now returns a bottom parameter state if the parameter state became effectively bottom after removing the in-parameters. This allows us to verify that we never have parameter states that are effectively bottom.

* In the top-down class hierarchy traversal, we may have upper bound type information that starts in the program. This is now handled by checking if the upper bound type of some piece of argument information is the current class *or* a super class of the current class.

* When propagating information about arguments to interface methods, this CL now updates the upper bound type for the argument information to the class that the information is being propagated to. Otherwise, the information will not become active for the class that the argument information is propagated to.

* Finally, this CL also records timing information when print times is enabled.

Change-Id: I6f6c5867cf1fe391373fc584f5120008e17615d7