By the way, I think this code still has a bug.  I didn't change the core logic of this conditional - I just pull out some info we incidentally process.

The additional issue, which is purely in analysis...  at runtime this just works because of dynamic linking... I believe this will simply not do full graph evaluation against any class (concrete or abstract, but not interface) listed in injects= if it is not a Members-injected class. That is, if you `injects=Foo.class` where it's an injectable class (i.e. `class Foo { @Inject Foo() {}}` ) then that case may simply not end up with a requestBinding in analysis.

I'll work up a test case for it separately.