Observation:
After applying the changes in PR #207, calling atypefactory.getAnnotatedType() on a non-string object in string concatenation returns an ATM of <refined annotations, object's real underlying java type>. For example,
on the rhs, the ATM of the orignal tree can be <@Peer, List> and the ATM of the converted string may be <@Bottom, String>. However, getAnnotatedType() will return <@Bottom, List> instead.
Expected behavior:
getAnnotatedType() returns an ATM of <refined annotations, String>, and we need an extra helper function to fetch the ATM of the original tree.
Observation:
After applying the changes in PR #207, calling
atypefactory.getAnnotatedType()on a non-string object in string concatenation returns an ATM of <refined annotations, object's real underlying java type>. For example,on the rhs, the ATM of the orignal tree can be
<@Peer, List>and the ATM of the converted string may be<@Bottom, String>. However,getAnnotatedType()will return<@Bottom, List>instead.Expected behavior:
getAnnotatedType()returns an ATM of <refined annotations, String>, and we need an extra helper function to fetch the ATM of the original tree.