On Thu, 12 Jan 2023 17:40:36 GMT, Maurizio Cimadamore <mcimadam...@openjdk.org> 
wrote:

> But the filtering will end up dropping the expression Ref on the floor, 
> right? (because B and A are unrelated).

Ah, I see what you mean.

Here's a more complete example:

public class CastLeak {

    public CastLeak() {
        ((CastLeak)(Runnable)this).mightLeak();
    }

    public void mightLeak() {
    }
}

That would be a leak for any subclass that implements `Runnable`. Yet no 
warning is generated.

So the filtering by expression type is going to potentially create false 
negatives. But it also eliminates a bunch of false positives. And the false 
negatives are probably all somewhat pathological like the example above.

So I still think it's worth doing.

-------------

PR: https://git.openjdk.org/jdk/pull/11874

Reply via email to