function test() {
  let x = source();
  
  sink(x); // NOT OK
  
  if (isSafe(x)) {
    sink(x); // OK
  }
}

class C {
  method() {
    this.x = source();

    sink(this.x); // NOT OK

    if (isSafe(this.x)) {
      sink(this.x); // OK

      addEventListener('hey', () => {
        sink(this.x); // OK - but still flagged
      });
    }

    addEventListener('hey', () => {
	  sink(this.x); // NOT OK
	});
  }
}

@@ -402,15 +402,182 @@
  OK%0A%09%7D);
+%0A%0A%09let self = this;%0A%09if (isSafe(self.x)) %7B%0A%09  sink(self.x); // OK%0A%09%7D%0A%0A%09addEventListener('hey', function() %7B%0A%09  if (isSafe(self.x)) %7B%0A%09    sink(self.x); // OK%0A%09  %7D%0A%09%7D);
 %0A  %7D%0A%7D%0A

add test with self=this variable