Reports Runnable passed to a Cleaner.register() capturing reference that leads to a memory leak.

Possible sources of this problem:

Sample of code that will be reported:


  int fileDescriptor;
  Cleaner.Cleanable cleanable = Cleaner.create().register(this, () -> {
    System.out.println("adsad");
    //this is captured via fileDescriptor
    fileDescriptor = 0;
  });

This inspection only reports if the language level of the project or module is 9 or higher.

New in 2018.1