I ran emma coverage and deleted some dead code. There's a few things that have insufficient test coverage that we need tests for...
git-svn-id: https://google-guice.googlecode.com/svn/trunk@494 d779f126-a31b-0410-b53b-1d3aecad763e
diff --git a/src/com/google/inject/BoundProviderFactory.java b/src/com/google/inject/BoundProviderFactory.java
index f39e8ae..3cbfc11 100644
--- a/src/com/google/inject/BoundProviderFactory.java
+++ b/src/com/google/inject/BoundProviderFactory.java
@@ -37,15 +37,6 @@
this.source = source;
}
- BoundProviderFactory(
- Key<? extends Provider<? extends T>> providerKey,
- InternalFactory<? extends Provider<? extends T>> providerFactory,
- Object source) {
- this.providerKey = providerKey;
- this.providerFactory = providerFactory;
- this.source = source;
- }
-
public void notify(final InjectorImpl injector) {
injector.withDefaultSource(source, new Runnable() {
public void run() {
@@ -58,10 +49,6 @@
});
}
- public String toString() {
- return providerKey.toString();
- }
-
public T get(InternalContext context, InjectionPoint<?> injectionPoint) {
Provider<? extends T> provider = providerFactory.get(context, injectionPoint);
try {
@@ -72,4 +59,8 @@
throw new ProvisionException(e, ErrorMessages.ERROR_IN_PROVIDER);
}
}
+
+ @Override public String toString() {
+ return providerKey.toString();
+ }
}
diff --git a/src/com/google/inject/ClassBindingImpl.java b/src/com/google/inject/ClassBindingImpl.java
index 65cdf30..36fb272 100644
--- a/src/com/google/inject/ClassBindingImpl.java
+++ b/src/com/google/inject/ClassBindingImpl.java
@@ -73,8 +73,7 @@
return injectors;
}
- @Override
- public String toString() {
+ @Override public String toString() {
return new ToStringBuilder(ClassBinding.class)
.add("class", getBoundClass())
.add("scope", scope)
diff --git a/src/com/google/inject/ConfigurationException.java b/src/com/google/inject/ConfigurationException.java
index d73ebd5..6e0dd09 100644
--- a/src/com/google/inject/ConfigurationException.java
+++ b/src/com/google/inject/ConfigurationException.java
@@ -26,12 +26,4 @@
ConfigurationException(String message) {
super(message);
}
-
- ConfigurationException(String message, Throwable cause) {
- super(message, cause);
- }
-
- ConfigurationException(Throwable cause) {
- super(cause);
- }
}
diff --git a/src/com/google/inject/ConstructorInjector.java b/src/com/google/inject/ConstructorInjector.java
index b501a41..32732d5 100644
--- a/src/com/google/inject/ConstructorInjector.java
+++ b/src/com/google/inject/ConstructorInjector.java
@@ -16,10 +16,13 @@
package com.google.inject;
+import com.google.inject.InjectorImpl.SingleMemberInjector;
+import com.google.inject.InjectorImpl.SingleParameterInjector;
import com.google.inject.internal.ErrorMessages;
import com.google.inject.internal.ResolveFailedException;
import java.lang.reflect.InvocationTargetException;
+import java.util.List;
/**
* Injects constructors.
@@ -29,29 +32,20 @@
class ConstructorInjector<T> {
final Class<T> implementation;
- final InjectorImpl.SingleMemberInjector[] memberInjectors;
- final InjectorImpl.SingleParameterInjector<?>[] parameterInjectors;
+ final SingleMemberInjector[] memberInjectors;
+ final SingleParameterInjector<?>[] parameterInjectors;
final ConstructionProxy<T> constructionProxy;
ConstructorInjector(InjectorImpl injector, Class<T> implementation) {
this.implementation = implementation;
constructionProxy = injector.reflection.getConstructionProxy(implementation);
parameterInjectors = createParameterInjector(injector, constructionProxy);
- memberInjectors = injector.injectors.get(implementation)
- .toArray(new InjectorImpl.SingleMemberInjector[0]);
+ List<SingleMemberInjector> memberInjectorsList = injector.injectors.get(implementation);
+ memberInjectors = memberInjectorsList.toArray(
+ new SingleMemberInjector[memberInjectorsList.size()]);
}
- /**
- * Used to create an invalid injector.
- */
- private ConstructorInjector() {
- implementation = null;
- memberInjectors = null;
- parameterInjectors = null;
- constructionProxy = null;
- }
-
- InjectorImpl.SingleParameterInjector<?>[] createParameterInjector(
+ SingleParameterInjector<?>[] createParameterInjector(
InjectorImpl injector, ConstructionProxy<T> constructionProxy) {
try {
return constructionProxy.getParameters().isEmpty()
@@ -121,19 +115,4 @@
constructionContext.removeCurrentReference();
}
}
-
- /**
- * Returns an invalid constructor. This enables us to keep running and
- * reporting legitimate errors.
- */
- static <T> ConstructorInjector<T> invalidConstructor() {
- return new ConstructorInjector<T>() {
- Object construct(InternalContext context, Class<?> expectedType) {
- throw new UnsupportedOperationException();
- }
- public T get() {
- throw new UnsupportedOperationException();
- }
- };
- }
}
diff --git a/src/com/google/inject/InjectionPoint.java b/src/com/google/inject/InjectionPoint.java
index b663aa9..7e363da 100644
--- a/src/com/google/inject/InjectionPoint.java
+++ b/src/com/google/inject/InjectionPoint.java
@@ -84,7 +84,7 @@
<T> T checkForNull(T value, Object source) {
if (value != null
- || getNullability() == Nullability.NULLABLE
+ || allowsNull()
|| allowNullsBadBadBad()) {
return value;
}
diff --git a/src/com/google/inject/InvalidBindingImpl.java b/src/com/google/inject/InvalidBindingImpl.java
index a833143..f2213b1 100644
--- a/src/com/google/inject/InvalidBindingImpl.java
+++ b/src/com/google/inject/InvalidBindingImpl.java
@@ -32,7 +32,7 @@
throw new AssertionError();
}
- public String toString() {
+ @Override public String toString() {
return "InvalidBinding";
}
}
diff --git a/src/com/google/inject/LinkedBindingImpl.java b/src/com/google/inject/LinkedBindingImpl.java
index 4bebbc8..3693fd9 100644
--- a/src/com/google/inject/LinkedBindingImpl.java
+++ b/src/com/google/inject/LinkedBindingImpl.java
@@ -16,9 +16,9 @@
package com.google.inject;
-import com.google.inject.spi.LinkedBinding;
-import com.google.inject.spi.BindingVisitor;
import com.google.inject.internal.ToStringBuilder;
+import com.google.inject.spi.BindingVisitor;
+import com.google.inject.spi.LinkedBinding;
/**
*
@@ -44,8 +44,7 @@
return injector.getBinding(targetKey);
}
- @Override
- public String toString() {
+ @Override public String toString() {
return new ToStringBuilder(LinkedBinding.class)
.add("key", key)
.add("target", targetKey)
diff --git a/src/com/google/inject/LinkedProviderBindingImpl.java b/src/com/google/inject/LinkedProviderBindingImpl.java
index c74881b..15f6a71 100644
--- a/src/com/google/inject/LinkedProviderBindingImpl.java
+++ b/src/com/google/inject/LinkedProviderBindingImpl.java
@@ -16,9 +16,9 @@
package com.google.inject;
-import com.google.inject.spi.LinkedProviderBinding;
-import com.google.inject.spi.BindingVisitor;
import com.google.inject.internal.ToStringBuilder;
+import com.google.inject.spi.BindingVisitor;
+import com.google.inject.spi.LinkedProviderBinding;
/**
*
@@ -44,8 +44,7 @@
return injector.getBinding(providerKey);
}
- @Override
- public String toString() {
+ @Override public String toString() {
return new ToStringBuilder(LinkedProviderBinding.class)
.add("key", key)
.add("provider", providerKey)
diff --git a/src/com/google/inject/Parameter.java b/src/com/google/inject/Parameter.java
index b43329e..d088b4a 100644
--- a/src/com/google/inject/Parameter.java
+++ b/src/com/google/inject/Parameter.java
@@ -19,7 +19,6 @@
import com.google.inject.internal.ErrorHandler;
import com.google.inject.internal.Keys;
-import net.sf.cglib.reflect.FastConstructor;
import java.lang.annotation.Annotation;
import java.lang.reflect.Constructor;
@@ -74,11 +73,6 @@
constructor.getParameterAnnotations());
}
- public static List<Parameter<?>> forConstructor(
- ErrorHandler errorHandler, FastConstructor constructor) {
- return forConstructor(errorHandler, constructor.getJavaConstructor());
- }
-
private static List<Parameter<?>> forMember(ErrorHandler errorHandler, Member member,
Type[] genericParameterTypes, Annotation[][] annotations) {
Iterator<Annotation[]> annotationsIterator = Arrays.asList(annotations).iterator();
diff --git a/src/com/google/inject/Scopes.java b/src/com/google/inject/Scopes.java
index a5c2699..bb1eff4 100644
--- a/src/com/google/inject/Scopes.java
+++ b/src/com/google/inject/Scopes.java
@@ -16,9 +16,9 @@
package com.google.inject;
-import com.google.inject.internal.StackTraceElements;
import com.google.inject.internal.ErrorHandler;
import com.google.inject.internal.ErrorMessages;
+import com.google.inject.internal.StackTraceElements;
import java.lang.annotation.Annotation;
import java.util.Map;
@@ -66,7 +66,7 @@
};
}
- public String toString() {
+ @Override public String toString() {
return "Scopes.SINGLETON";
}
};
@@ -85,7 +85,7 @@
public <T> Provider<T> scope(Key<T> key, Provider<T> unscoped) {
return unscoped;
}
- public String toString() {
+ @Override public String toString() {
return "Scopes.NO_SCOPE";
}
};
diff --git a/src/com/google/inject/internal/ReferenceCache.java b/src/com/google/inject/internal/ReferenceCache.java
index 85b3285..44bfc2f 100644
--- a/src/com/google/inject/internal/ReferenceCache.java
+++ b/src/com/google/inject/internal/ReferenceCache.java
@@ -61,7 +61,7 @@
ReferenceType keyReferenceType,
ReferenceType valueReferenceType,
final Function<? super K, ? extends V> function) {
- ensureNotNull(function);
+ Objects.nonNull(function, "function");
return new ReferenceCache<K, V>(keyReferenceType, valueReferenceType) {
protected V create(K key) {
return function.apply(key);
diff --git a/src/com/google/inject/internal/ReferenceMap.java b/src/com/google/inject/internal/ReferenceMap.java
index 515607f..1fa17c4 100644
--- a/src/com/google/inject/internal/ReferenceMap.java
+++ b/src/com/google/inject/internal/ReferenceMap.java
@@ -23,12 +23,7 @@
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.lang.ref.Reference;
-import java.util.AbstractMap;
-import java.util.AbstractSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.NoSuchElementException;
-import java.util.Set;
+import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
@@ -83,7 +78,7 @@
}
public V get(final Object key) {
- ensureNotNull(key);
+ Objects.nonNull(key, "key");
return internalGet((K) key);
}
@@ -100,7 +95,7 @@
}
public V remove(Object key) {
- ensureNotNull(key);
+ Objects.nonNull(key, "key");
Object referenceAwareKey = makeKeyReferenceAware(key);
Object valueReference = delegate.remove(referenceAwareKey);
return dereferenceValue(valueReference);
@@ -115,13 +110,13 @@
}
public boolean containsKey(Object key) {
- ensureNotNull(key);
+ Objects.nonNull(key, "key");
Object referenceAwareKey = makeKeyReferenceAware(key);
return delegate.containsKey(referenceAwareKey);
}
public boolean containsValue(Object value) {
- ensureNotNull(value);
+ Objects.nonNull(value, "value");
for (Object valueReference : delegate.values()) {
if (value.equals(dereferenceValue(valueReference))) {
return true;
@@ -318,11 +313,11 @@
return wrapped;
}
- public int hashCode() {
+ @Override public int hashCode() {
return wrapped.hashCode();
}
- public boolean equals(Object obj) {
+ @Override public boolean equals(Object obj) {
// defer to reference's equals() logic.
return obj.equals(this);
}
@@ -603,13 +598,6 @@
public void clear() {
delegate.clear();
}
- };
-
- // TODO(kevinb): use preconditions
- static void ensureNotNull(Object o) {
- if (o == null) {
- throw new NullPointerException();
- }
}
static void ensureNotNull(Object... array) {
diff --git a/src/com/google/inject/internal/ReferenceType.java b/src/com/google/inject/internal/ReferenceType.java
index 966d757..671dbc0 100644
--- a/src/com/google/inject/internal/ReferenceType.java
+++ b/src/com/google/inject/internal/ReferenceType.java
@@ -51,5 +51,5 @@
*
* @see java.lang.ref.PhantomReference
*/
- PHANTOM;
+ PHANTOM
}
diff --git a/src/com/google/inject/internal/Strings.java b/src/com/google/inject/internal/Strings.java
index e9626cf..5b9167b 100644
--- a/src/com/google/inject/internal/Strings.java
+++ b/src/com/google/inject/internal/Strings.java
@@ -22,6 +22,7 @@
* @author crazybob@google.com (Bob Lee)
*/
public class Strings {
+ private Strings() {}
/**
* Returns a string that is equivalent to the specified string with its
@@ -44,8 +45,9 @@
* @throws NullPointerException if <tt>s</tt> is null
*/
public static String capitalize(String s) {
- if (s.length() == 0)
+ if (s.length() == 0) {
return s;
+ }
char first = s.charAt(0);
char capitalized = Character.toUpperCase(first);
return (first == capitalized)
diff --git a/src/com/google/inject/internal/ToStringBuilder.java b/src/com/google/inject/internal/ToStringBuilder.java
index cdc62b9..0d00776 100644
--- a/src/com/google/inject/internal/ToStringBuilder.java
+++ b/src/com/google/inject/internal/ToStringBuilder.java
@@ -46,7 +46,7 @@
return this;
}
- public String toString() {
+ @Override public String toString() {
return name + map.toString().replace('{', '[').replace('}', ']');
}
}
diff --git a/src/com/google/inject/internal/UniqueAnnotations.java b/src/com/google/inject/internal/UniqueAnnotations.java
index 4fff62b..8fdab6e 100644
--- a/src/com/google/inject/internal/UniqueAnnotations.java
+++ b/src/com/google/inject/internal/UniqueAnnotations.java
@@ -27,6 +27,7 @@
* @author jessewilson@google.com (Jesse Wilson)
*/
public class UniqueAnnotations {
+ private UniqueAnnotations() {}
private static final AtomicInteger nextUniqueValue = new AtomicInteger(1);
/**