Skip to content

Tracking when Object.toString is deterministic #198

@mernst

Description

@mernst

Sometimes, all the values flowing to a call to toString have overridden Object.toString, even if the expression's declared type doesn't do so.
The Determinism Checker should track this information.
This will enable it to determine what calls to Object.toString are legal, eliminating a source of false positives.

One possible design would have this type hierarchy:

@OverridesToStringUnknown  -- the value's run-time class might not override Object.toString
       |
@OverridesToString  -- the value's run-time class definitely overrides Object.toString

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions