isAsyncFunction will return true for both (class { async () {} }).prototype.async and { async () {} }.async. The cause is that keywords are allowed to be used as function/getter/setter names in classes and object literals, which the module is-async-function does not take into account.