The type of an anonymous class expression is the anonymous class type. While this type can't be named, it can be an inferred type argument and its its (unique) members can be accessed:
Arrays.asList(new Object() { void m() {} }).m(); // ok
Diamond anonymous class expressions, on the other hand, are treated during inference as if their type is the generic supertype. As a result, their (unique) members cannot be accessed.
Arrays.asList(new ArrayList<>() { void m() {} }).m(); // error
In order to support this usage, inference needs to be updated so that it can talk about the not-yet-defined class alpha whose supertype is ArrayList<beta>. Here, alpha behaves much like a capture inference variable: it cannot be resolved to one of its bounds, but acts as a stand-in for a specific, unnameable type.
Given these two use cases, there's quite possibly a third, and we could use a more general-purpose mechanism for describing special inference variables that are stand-ins for unnameable types.
(Alternative viewpoint: this is an obscure corner case, and not worth the trouble of perturbing inference.)