Skip to content

Flow refinement of string conversion node causes inconsistent ATM #208

@zcai1

Description

@zcai1

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,

"a" + List.of("b")

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions