Convert an anonymous subclass of ThreadLocal in the implementation of InjectorImpl to a nested class, thus eliminating its implicit parent reference. This implicit parent reference creates some additional work during debugging and is unnecessary.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=51925521
diff --git a/core/src/com/google/inject/internal/InjectorImpl.java b/core/src/com/google/inject/internal/InjectorImpl.java
index f936c63..6faab97 100644
--- a/core/src/com/google/inject/internal/InjectorImpl.java
+++ b/core/src/com/google/inject/internal/InjectorImpl.java
@@ -128,12 +128,7 @@
if (parent != null) {
localContext = parent.localContext;
} else {
- localContext = new ThreadLocal<Object[]>() {
- @Override
- protected Object[] initialValue() {
- return new Object[1];
- }
- };
+ localContext = new LocalContextThreadLocal();
}
}
@@ -1066,4 +1061,10 @@
.toString();
}
+ private static final class LocalContextThreadLocal extends ThreadLocal<Object[]> {
+ @Override
+ protected Object[] initialValue() {
+ return new Object[1];
+ }
+ }
}