expose LinkedBindingImpl's dependency via HasDependencies -- it was one of only two binding impls to not implement HasDependencies (UntargettedBindingImpl was the other).
git-svn-id: https://google-guice.googlecode.com/svn/trunk@1153 d779f126-a31b-0410-b53b-1d3aecad763e
diff --git a/src/com/google/inject/internal/LinkedBindingImpl.java b/src/com/google/inject/internal/LinkedBindingImpl.java
index a61f781..5f948ae 100644
--- a/src/com/google/inject/internal/LinkedBindingImpl.java
+++ b/src/com/google/inject/internal/LinkedBindingImpl.java
@@ -16,12 +16,16 @@
package com.google.inject.internal;
+import java.util.Set;
+
import com.google.inject.Binder;
import com.google.inject.Key;
import com.google.inject.spi.BindingTargetVisitor;
+import com.google.inject.spi.Dependency;
+import com.google.inject.spi.HasDependencies;
import com.google.inject.spi.LinkedKeyBinding;
-public final class LinkedBindingImpl<T> extends BindingImpl<T> implements LinkedKeyBinding<T> {
+public final class LinkedBindingImpl<T> extends BindingImpl<T> implements LinkedKeyBinding<T>, HasDependencies {
final Key<? extends T> targetKey;
@@ -44,6 +48,10 @@
public Key<? extends T> getLinkedKey() {
return targetKey;
}
+
+ public Set<Dependency<?>> getDependencies() {
+ return ImmutableSet.<Dependency<?>>of(Dependency.get(targetKey));
+ }
public BindingImpl<T> withScoping(Scoping scoping) {
return new LinkedBindingImpl<T>(getSource(), getKey(), scoping, targetKey);