3 new revisions:
Revision: d9e05457644c
Author: Christian Edward Gruber <[email protected]>
Date: Wed Jun 26 14:34:13 2013
Log: Reduce the memory consumption of SourceProvider instances by
keeping a...
http://code.google.com/p/google-guice/source/detail?r=d9e05457644c
Revision: cadabc1aa1cb
Author: Christian Edward Gruber <[email protected]>
Date: Wed Jun 26 14:34:36 2013
Log: Switch InternalContext to store dependency/source pairs more
compactly...
http://code.google.com/p/google-guice/source/detail?r=cadabc1aa1cb
Revision: 9e2d95b4393b
Author: Christian Edward Gruber <[email protected]>
Date: Wed Jun 26 17:43:11 2013
Log: Clean up some formatting (includes some format artifacts from
internal...
http://code.google.com/p/google-guice/source/detail?r=9e2d95b4393b
==============================================================================
Revision: d9e05457644c
Author: Christian Edward Gruber <[email protected]>
Date: Wed Jun 26 14:34:13 2013
Log: Reduce the memory consumption of SourceProvider instances by
keeping a reference to the parent object instead of copying all class names
to a new object.
Additional Info:
In one service for example:
The maximum chain size is 6.
SourceProvider.get() is called 118032 times
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=47105142
http://code.google.com/p/google-guice/source/detail?r=d9e05457644c
Modified:
/core/src/com/google/inject/internal/util/SourceProvider.java
=======================================
--- /core/src/com/google/inject/internal/util/SourceProvider.java Thu Jul
7 17:34:16 2011
+++ /core/src/com/google/inject/internal/util/SourceProvider.java Wed Jun
26 14:34:13 2013
@@ -16,8 +16,6 @@
package com.google.inject.internal.util;
-import static com.google.common.collect.Iterables.concat;
-
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Lists;
@@ -33,20 +31,42 @@
/** Indicates that the source is unknown. */
public static final Object UNKNOWN_SOURCE = "[unknown source]";
+ private final SourceProvider parent;
private final ImmutableSet<String> classNamesToSkip;
-
+
public static final SourceProvider DEFAULT_INSTANCE
= new
SourceProvider(ImmutableSet.of(SourceProvider.class.getName()));
private SourceProvider(Iterable<String> classesToSkip) {
- this.classNamesToSkip = ImmutableSet.copyOf(classesToSkip);
+ this(null, classesToSkip);
+ }
+
+ private SourceProvider(SourceProvider parent, Iterable<String>
classesToSkip) {
+ this.parent = parent;
+
+ ImmutableSet.Builder<String> classNamesToSkipBuilder =
ImmutableSet.builder();
+ for (String classToSkip : classesToSkip) {
+ if (parent == null || !parent.shouldBeSkipped(classToSkip)) {
+ classNamesToSkipBuilder.add(classToSkip);
+ }
+ }
+ this.classNamesToSkip = classNamesToSkipBuilder.build();
}
/** Returns a new instance that also skips {@code moreClassesToSkip}. */
public SourceProvider plusSkippedClasses(Class... moreClassesToSkip) {
- return new SourceProvider(concat(classNamesToSkip,
asStrings(moreClassesToSkip)));
+ return new SourceProvider(this, asStrings(moreClassesToSkip));
}
+ /** Returns true if the className should be skipped. */
+ private boolean shouldBeSkipped(String className) {
+ if ((parent != null && parent.shouldBeSkipped(className))
+ || classNamesToSkip.contains(className)) {
+ return true;
+ }
+ return false;
+ }
+
/** Returns the class names as Strings */
private static List<String> asStrings(Class... classes) {
List<String> strings = Lists.newArrayList();
@@ -63,7 +83,8 @@
public StackTraceElement get() {
for (final StackTraceElement element : new
Throwable().getStackTrace()) {
String className = element.getClassName();
- if (!classNamesToSkip.contains(className)) {
+
+ if (!shouldBeSkipped(className)) {
return element;
}
}
==============================================================================
Revision: cadabc1aa1cb
Author: Christian Edward Gruber <[email protected]>
Date: Wed Jun 26 14:34:36 2013
Log: Switch InternalContext to store dependency/source pairs more
compactly.
First, use an ArrayList instead of LinkedList, since it has only 4-8
bytes overhead per entry (depending on resize phase). Second, remove
the overhead of the DependencyAndSource object, which saves 8 bytes per
object, and materialize only when getDependencyChain() is called.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=47284141
http://code.google.com/p/google-guice/source/detail?r=cadabc1aa1cb
Modified:
/core/src/com/google/inject/internal/InternalContext.java
=======================================
--- /core/src/com/google/inject/internal/InternalContext.java Thu Jul 7
17:34:16 2011
+++ /core/src/com/google/inject/internal/InternalContext.java Wed Jun 26
14:34:36 2013
@@ -17,12 +17,13 @@
package com.google.inject.internal;
import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.inject.Key;
import com.google.inject.spi.Dependency;
import com.google.inject.spi.DependencyAndSource;
-import java.util.LinkedList;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -35,10 +36,18 @@
final class InternalContext {
private Map<Object, ConstructionContext<?>> constructionContexts =
Maps.newHashMap();
+
/** Keeps track of the type that is currently being requested for
injection. */
- private Dependency dependency;
- /** Keeps track of the hierarchy of types needed during injection. */
- private LinkedList<DependencyAndSource> state = new
LinkedList<DependencyAndSource>();
+ private Dependency<?> dependency;
+
+ /**
+ * Keeps track of the hierarchy of types needed during injection.
+ *
+ * <p>This is a pairwise combination of dependencies and sources, with
dependencies on even
+ * indices, and sources on odd indices. This structure is to avoid the
memory overhead of
+ * DependencyAndSource objects, which can add to several tens of
megabytes in large applications.
+ */
+ private final List<Object> state = Lists.newArrayList();
@SuppressWarnings("unchecked")
public <T> ConstructionContext<T> getConstructionContext(Object key) {
@@ -51,36 +60,44 @@
return constructionContext;
}
- public Dependency getDependency() {
+ public Dependency<?> getDependency() {
return dependency;
}
/** Sets the new current dependency & adds it to the state. */
- public Dependency pushDependency(Dependency dependency, Object source) {
- Dependency previous = this.dependency;
+ public Dependency<?> pushDependency(Dependency<?> dependency, Object
source) {
+ Dependency<?> previous = this.dependency;
this.dependency = dependency;
- state.addLast(new DependencyAndSource(dependency, source));
+ state.add(dependency);
+ state.add(source);
return previous;
}
/** Pops the current state & sets the new dependency. */
- public void popStateAndSetDependency(Dependency newDependency) {
+ public void popStateAndSetDependency(Dependency<?> newDependency) {
popState();
this.dependency = newDependency;
}
/** Adds to the state without setting the dependency. */
public void pushState(Key<?> key, Object source) {
- state.addLast(new DependencyAndSource(key == null ? null :
Dependency.get(key), source));
+ state.add(key == null ? null : Dependency.get(key));
+ state.add(source);
}
/** Pops from the state without setting a dependency. */
public void popState() {
- state.removeLast();
+ state.remove(state.size() - 1);
+ state.remove(state.size() - 1);
}
/** Returns the current dependency chain (all the state). */
public List<DependencyAndSource> getDependencyChain() {
- return ImmutableList.copyOf(state);
+ ImmutableList.Builder<DependencyAndSource> builder =
ImmutableList.builder();
+ for (int i = 0; i < state.size(); i += 2) {
+ builder.add(new DependencyAndSource(
+ (Dependency<?>) state.get(i), state.get(i + 1)));
+ }
+ return builder.build();
}
}
==============================================================================
Revision: 9e2d95b4393b
Author: Christian Edward Gruber <[email protected]>
Date: Wed Jun 26 17:43:11 2013
Log: Clean up some formatting (includes some format artifacts from
internal changes), and remove executable bit from several files which do
not need them.
http://code.google.com/p/google-guice/source/detail?r=9e2d95b4393b
Modified:
/build.xml
/core/src/com/google/inject/internal/ConstructorInjector.java
/core/src/com/google/inject/internal/Initializer.java
/core/src/com/google/inject/internal/InjectorImpl.java
/core/src/com/google/inject/internal/InjectorOptionsProcessor.java
/core/src/com/google/inject/internal/InjectorShell.java
/core/src/com/google/inject/internal/MembersInjectorImpl.java
/core/src/com/google/inject/internal/ProvisionListenerStackCallback.java
/core/src/com/google/inject/internal/util/LineNumbers.java
/core/test/com/google/inject/BindingAnnotationTest.java
/core/test/com/google/inject/ProvisionListenerTest.java
/extensions/assistedinject/src/com/google/inject/assistedinject/Assisted.java
/extensions/assistedinject/src/com/google/inject/assistedinject/AssistedConstructor.java
/extensions/assistedinject/src/com/google/inject/assistedinject/AssistedInject.java
/extensions/assistedinject/src/com/google/inject/assistedinject/FactoryProvider.java
/extensions/assistedinject/src/com/google/inject/assistedinject/FactoryProvider2.java
/extensions/assistedinject/src/com/google/inject/assistedinject/Parameter.java
/extensions/assistedinject/src/com/google/inject/assistedinject/ParameterListKey.java
/extensions/assistedinject/test/com/google/inject/assistedinject/FactoryModuleBuilderTest.java
/extensions/assistedinject/test/com/google/inject/assistedinject/FactoryProvider2Test.java
/extensions/assistedinject/test/com/google/inject/assistedinject/FactoryProviderTest.java
/extensions/persist/lib/db4o-6.4.14.8131-java5.jar
/extensions/persist/src/com/google/inject/persist/UnitOfWork.java
/extensions/servlet/src/com/google/inject/servlet/DefaultFilterPipeline.java
/extensions/servlet/src/com/google/inject/servlet/FilterChainInvocation.java
/extensions/servlet/src/com/google/inject/servlet/FilterDefinition.java
/extensions/servlet/src/com/google/inject/servlet/FilterPipeline.java
/extensions/servlet/src/com/google/inject/servlet/FiltersModuleBuilder.java
/extensions/servlet/src/com/google/inject/servlet/ManagedFilterPipeline.java
/extensions/servlet/src/com/google/inject/servlet/ManagedServletPipeline.java
/extensions/servlet/src/com/google/inject/servlet/ServletDefinition.java
/extensions/servlet/src/com/google/inject/servlet/ServletsModuleBuilder.java
/extensions/servlet/src/com/google/inject/servlet/UriPatternMatcher.java
/extensions/servlet/src/com/google/inject/servlet/UriPatternType.java
/lib/build/guice-3.0.xml
/lib/build/jdiff/Null.java
/lib/build/jdiff/background.gif
/lib/build/jdiff/black.gif
/lib/build/jdiff/jdiff.jar
/lib/build/jdiff/new.gif
/lib/build/jdiff/xerces.jar
=======================================
--- /build.xml Wed May 15 17:32:52 2013
+++ /build.xml Wed Jun 26 17:43:11 2013
@@ -28,7 +28,7 @@
<ant antfile="extensions/throwingproviders/build.xml"
target="distjars" inheritAll="false"/>
<ant antfile="extensions/multibindings/build.xml" target="distjars"
inheritAll="false"/>
<ant antfile="extensions/persist/build.xml" target="distjars"
inheritAll="false"/>
- <ant antfile="extensions/grapher/build.xml" target="distjars"
inheritAll="false"/>
+ <ant antfile="extensions/grapher/build.xml" target="distjars"
inheritAll="false"/>
<copy toDir="${build.dir}/dist">
<fileset dir="extensions/servlet/build" includes="*.jar"
excludes="*-with-deps.jar"/>
@@ -57,9 +57,9 @@
<copy toDir="${build.dir}/dist">
<fileset dir="extensions/persist/build" includes="*.jar"
excludes="*-with-deps.jar"/>
</copy>
- <copy toDir="${build.dir}/dist">
- <fileset dir="extensions/grapher/build" includes="*.jar"
excludes="*-with-deps.jar"/>
- </copy>
+ <copy toDir="${build.dir}/dist">
+ <fileset dir="extensions/grapher/build" includes="*.jar"
excludes="*-with-deps.jar"/>
+ </copy>
<copy toDir="${build.dir}/dist" file="COPYING"/>
<copy toDir="${build.dir}/dist">
@@ -107,20 +107,20 @@
</syspropertyset>
</java>
</target>
-
+
<property name="old.api" value="2.0"/>
<property name="new.api" value="3.0"/>
<target name="jdiff">
- <property name="jdiff.home" value="lib/build/jdiff"/>
- <property name="jdiff.tmp" value="build/docs/latest-api-diffs"/>
- <delete dir="${jdiff.tmp}"/>
- <mkdir dir="${jdiff.tmp}"/>
-
- <!-- Generate API for current version. -->
+ <property name="jdiff.home" value="lib/build/jdiff"/>
+ <property name="jdiff.tmp" value="build/docs/latest-api-diffs"/>
+ <delete dir="${jdiff.tmp}"/>
+ <mkdir dir="${jdiff.tmp}"/>
+
+ <!-- Generate API for current version. -->
<javadoc packagenames="com.google.*"
-
docletpath="${jdiff.home}/jdiff.jar${path.separator}${jdiff.home}/xerces.jar"
+
docletpath="${jdiff.home}/jdiff.jar${path.separator}${jdiff.home}/xerces.jar"
maxmemory="512M"
-
classpath="lib/javax.inject.jar${path.separator}lib/aopalliance.jar">
+
classpath="lib/javax.inject.jar${path.separator}lib/aopalliance.jar">
<fileset dir="${src.dir}" defaultexcludes="yes">
<include name="com/google/**"/>
<exclude name="com/google/inject/internal/**"/>
@@ -134,7 +134,7 @@
<fileset dir="${multibindings.src.dir}"/>
<fileset dir="${persist.src.dir}"/>
<fileset dir="${struts2.src.dir}"/>
- <fileset dir="${grapher.src.dir}"/>
+ <fileset dir="${grapher.src.dir}"/>
<doclet name="jdiff.JDiff"
path="${jdiff.home}/jdiff.jar:${jdiff.home}/xerces.jar">
@@ -143,33 +143,33 @@
</doclet>
</javadoc>
- <!-- Do a diff against the previous version. -->
- <javadoc packagenames="com.google.*"
- destdir="${jdiff.tmp}"
-
docletpath="${jdiff.home}/jdiff.jar${path.separator}${jdiff.home}/xerces.jar"
- maxmemory="512M"
- sourcefiles="${jdiff.home}/Null.java"
-
classpath="lib/javax.inject.jar${path.separator}lib/aopalliance.jar">
- <doclet name="jdiff.JDiff">
- <param name="-oldapi" value="${old.api}"/>
- <param name="-oldapidir" value="latest-api-diffs"/>
- <param name="-javadocold"
value="http://google-guice.googlecode.com/svn/trunk/latest-api-diffs/${old.api}/javadoc/"/>
- <param name="-newapi" value="${new.api}"/>
- <param name="-newapidir" value="${jdiff.tmp}"/>
- <param name="-javadocnew"
value="http://google-guice.googlecode.com/svn/trunk/latest-api-diffs/${new.api}/javadoc/"/>
- <param name="-stats"/>
- <param name="-docchanges"/>
- </doclet>
- </javadoc>
+ <!-- Do a diff against the previous version. -->
+ <javadoc packagenames="com.google.*"
+ destdir="${jdiff.tmp}"
+
docletpath="${jdiff.home}/jdiff.jar${path.separator}${jdiff.home}/xerces.jar"
+ maxmemory="512M"
+ sourcefiles="${jdiff.home}/Null.java"
+
classpath="lib/javax.inject.jar${path.separator}lib/aopalliance.jar">
+ <doclet name="jdiff.JDiff">
+ <param name="-oldapi" value="${old.api}"/>
+ <param name="-oldapidir" value="latest-api-diffs"/>
+ <param name="-javadocold"
value="http://google-guice.googlecode.com/svn/trunk/latest-api-diffs/${old.api}/javadoc/"/>
+ <param name="-newapi" value="${new.api}"/>
+ <param name="-newapidir" value="${jdiff.tmp}"/>
+ <param name="-javadocnew"
value="http://google-guice.googlecode.com/svn/trunk/latest-api-diffs/${new.api}/javadoc/"/>
+ <param name="-stats"/>
+ <param name="-docchanges"/>
+ </doclet>
+ </javadoc>
</target>
<target name="javadoc">
<javadoc packagenames="com.google.*"
destdir="build/docs"
- docletpath="lib/build/doclava.jar"
+ docletpath="lib/build/doclava.jar"
bootclasspath="${java.home}/lib/rt.jar"
maxmemory="512M"
-
classpath="lib/javax.inject.jar${path.separator}lib/aopalliance.jar">
+
classpath="lib/javax.inject.jar${path.separator}lib/aopalliance.jar">
<fileset dir="${src.dir}" defaultexcludes="yes">
<include name="com/google/**"/>
<exclude name="com/google/inject/internal/**"/>
@@ -182,7 +182,7 @@
<fileset dir="${throwingproviders.src.dir}"/>
<fileset dir="${multibindings.src.dir}"/>
<fileset dir="${persist.src.dir}"/>
- <fileset dir="${grapher.src.dir}"/>
+ <fileset dir="${grapher.src.dir}"/>
<!-- TODO: this breaks Doclava for some reason
<fileset dir="${struts2.src.dir}"/> -->
@@ -192,7 +192,7 @@
<param name="-since"/> <param name="lib/build/guice-2.0.xml"/>
<param name="Guice_2.0" />
<param name="-apiversion" value="Guice_${new.api}"/>
<param name="-assetsdir" value="javadoc/assets"/>
- <param name="-apixml" value="build/docs/guice-${new.api}.xml"/>
+ <param name="-apixml" value="build/docs/guice-${new.api}.xml"/>
<!-- TODO: fix doclava federation
http://aopalliance.sourceforge.net/doc
http://www.springframework.org/docs/api/
=======================================
--- /core/src/com/google/inject/internal/ConstructorInjector.java Thu May
16 10:53:11 2013
+++ /core/src/com/google/inject/internal/ConstructorInjector.java Wed Jun
26 17:43:11 2013
@@ -110,13 +110,13 @@
} finally {
constructionContext.finishConstruction();
}
-
+
// Store reference. If an injector re-enters this factory, they'll
get the same reference.
constructionContext.setCurrentReference(t);
-
+
membersInjector.injectMembers(t, errors, context, false);
membersInjector.notifyListeners(t, errors);
-
+
return t;
} catch (InvocationTargetException userException) {
Throwable cause = userException.getCause() != null
=======================================
--- /core/src/com/google/inject/internal/Initializer.java Wed May 15
18:39:15 2013
+++ /core/src/com/google/inject/internal/Initializer.java Wed Jun 26
17:43:11 2013
@@ -64,7 +64,7 @@
<T> Initializable<T> requestInjection(InjectorImpl injector, T instance,
Binding<T> binding,
Object source, Set<InjectionPoint> injectionPoints) {
checkNotNull(source);
-
+
ProvisionListenerStackCallback<T> provisionCallback =
binding == null ? null :
injector.provisionListenerStore.get(binding);
=======================================
--- /core/src/com/google/inject/internal/InjectorImpl.java Thu May 16
11:00:54 2013
+++ /core/src/com/google/inject/internal/InjectorImpl.java Wed Jun 26
17:43:11 2013
@@ -73,7 +73,7 @@
final boolean disableCircularProxies;
final boolean atInjectRequired;
final boolean exactBindingAnnotationsRequired;
-
+
InjectorOptions(Stage stage, boolean jitDisabled, boolean
disableCircularProxies,
boolean atInjectRequired, boolean exactBindingAnnotationsRequired)
{
this.stage = stage;
@@ -265,7 +265,7 @@
}
}
}
-
+
// If we previously failed creating this JIT binding and our Errors
has
// already recorded an error, then just directly throw that error.
// We need to do this because it's possible we already cleaned up the
@@ -291,7 +291,7 @@
private static boolean isProvider(Key<?> key) {
return key.getTypeLiteral().getRawType().equals(Provider.class);
}
-
+
private static boolean isTypeLiteral(Key<?> key) {
return key.getTypeLiteral().getRawType().equals(TypeLiteral.class);
}
@@ -846,7 +846,7 @@
if (convertedBinding != null) {
return convertedBinding;
}
-
+
if (!isTypeLiteral(key)
&& jitDisabled
&& jitType != JitLimitation.NEW_OR_EXISTING_JIT) {
=======================================
--- /core/src/com/google/inject/internal/InjectorOptionsProcessor.java Thu
May 16 11:00:54 2013
+++ /core/src/com/google/inject/internal/InjectorOptionsProcessor.java Wed
Jun 26 17:43:11 2013
@@ -58,7 +58,7 @@
public Boolean visit(RequireAtInjectOnConstructorsOption option) {
atInjectRequired = true;
return true;
- }
+ }
@Override
public Boolean visit(RequireExactBindingAnnotationsOption option) {
=======================================
--- /core/src/com/google/inject/internal/InjectorShell.java Wed May 15
18:39:15 2013
+++ /core/src/com/google/inject/internal/InjectorShell.java Wed Jun 26
17:43:11 2013
@@ -270,7 +270,7 @@
return "Provider<Logger>";
}
}
-
+
private static void bindStage(InjectorImpl injector, Stage stage) {
Key<Stage> key = Key.get(Stage.class);
InstanceBindingImpl<Stage> stageBinding = new
InstanceBindingImpl<Stage>(
@@ -281,7 +281,7 @@
ImmutableSet.<InjectionPoint>of(),
stage);
injector.state.putBinding(key, stageBinding);
- }
+ }
private static class RootModule implements Module {
public void configure(Binder binder) {
=======================================
--- /core/src/com/google/inject/internal/MembersInjectorImpl.java Wed May
15 18:39:15 2013
+++ /core/src/com/google/inject/internal/MembersInjectorImpl.java Wed Jun
26 17:43:11 2013
@@ -85,7 +85,7 @@
if (provisionCallback != null &&
provisionCallback.hasListeners()) {
provisionCallback.provision(errors, context, new
ProvisionCallback<T>() {
@Override public T call() {
- injectMembers(instance, errors, context, toolableOnly);
+ injectMembers(instance, errors, context, toolableOnly);
return instance;
}
});
=======================================
---
/core/src/com/google/inject/internal/ProvisionListenerStackCallback.java
Wed May 15 18:39:15 2013
+++
/core/src/com/google/inject/internal/ProvisionListenerStackCallback.java
Wed Jun 26 17:43:11 2013
@@ -30,15 +30,15 @@
* @author [email protected] (Sam Berlin)
*/
final class ProvisionListenerStackCallback<T> {
-
- private static final ProvisionListener EMPTY_LISTENER[] = new
ProvisionListener[0];
+
+ private static final ProvisionListener EMPTY_LISTENER[] = new
ProvisionListener[0];
@SuppressWarnings("rawtypes")
private static final ProvisionListenerStackCallback<?> EMPTY_CALLBACK =
new ProvisionListenerStackCallback(null /* unused, so ok */,
ImmutableList.of());
private final ProvisionListener[] listeners;
private final Binding<T> binding;
-
+
@SuppressWarnings("unchecked")
public static <T> ProvisionListenerStackCallback<T> emptyListener() {
return (ProvisionListenerStackCallback<T>) EMPTY_CALLBACK;
=======================================
--- /core/src/com/google/inject/internal/util/LineNumbers.java Wed May 15
17:32:52 2013
+++ /core/src/com/google/inject/internal/util/LineNumbers.java Wed Jun 26
17:43:11 2013
@@ -180,42 +180,42 @@
class LineNumberMethodVisitor extends MethodVisitor {
LineNumberMethodVisitor() {
super(Opcodes.ASM4);
- }
+ }
public AnnotationVisitor visitAnnotation(String desc, boolean
visible) {
return new LineNumberAnnotationVisitor();
- }
+ }
public AnnotationVisitor visitAnnotationDefault() {
return new LineNumberAnnotationVisitor();
- }
+ }
public void visitFieldInsn(int opcode, String owner, String name,
String desc) {
if (opcode == Opcodes.PUTFIELD &&
LineNumberReader.this.name.equals(owner)
&& !lines.containsKey(name) && line != -1) {
lines.put(name, line);
- }
- }
+ }
+ }
public void visitLineNumber(int line, Label start) {
LineNumberReader.this.visitLineNumber(line, start);
- }
+ }
}
class LineNumberAnnotationVisitor extends AnnotationVisitor {
LineNumberAnnotationVisitor() {
super(Opcodes.ASM4);
- }
+ }
public AnnotationVisitor visitAnnotation(String name, String desc) {
return this;
- }
+ }
public AnnotationVisitor visitArray(String name) {
return this;
- }
- public void visitLocalVariable(String name, String desc, String
signature,
- Label start, Label end, int index) {
- }
+ }
+ public void visitLocalVariable(String name, String desc, String
signature,
+ Label start, Label end, int index) {
+ }
}
=======================================
--- /core/test/com/google/inject/BindingAnnotationTest.java Thu May 16
11:00:54 2013
+++ /core/test/com/google/inject/BindingAnnotationTest.java Wed Jun 26
17:43:11 2013
@@ -111,7 +111,7 @@
static class BlueFoo {
@Inject @Blue(5) String s;
}
-
+
static class RedFoo {
@Inject @Red String s;
}
@@ -125,7 +125,7 @@
@interface Blue {
int value();
}
-
+
@Retention(RUNTIME)
@BindingAnnotation
@interface Red {
=======================================
--- /core/test/com/google/inject/ProvisionListenerTest.java Thu May 16
10:53:11 2013
+++ /core/test/com/google/inject/ProvisionListenerTest.java Wed Jun 26
17:43:11 2013
@@ -394,8 +394,8 @@
assertTrue("expected instanceof: " + expected + ", but was: " +
provisioned,
expected.isInstance(provisioned));
} else {
- assertEquals(provision.getBinding().getKey().getRawType(),
provisioned.getClass());
- }
+ assertEquals(provision.getBinding().getKey().getRawType(),
provisioned.getClass());
+ }
}
Set<Key> getAsSetAndClear() {
=======================================
---
/extensions/assistedinject/src/com/google/inject/assistedinject/FactoryProvider2.java
Thu May 16 11:13:21 2013
+++
/extensions/assistedinject/src/com/google/inject/assistedinject/FactoryProvider2.java
Wed Jun 26 17:43:11 2013
@@ -200,7 +200,7 @@
*/
FactoryProvider2(Key<F> factoryKey, BindingCollector collector) {
this.factoryKey = factoryKey;
-
+
TypeLiteral<F> factoryType = factoryKey.getTypeLiteral();
Errors errors = new Errors();
@@ -335,7 +335,7 @@
}
return visitor.visit(binding);
}
-
+
private void validateFactoryReturnType(Errors errors, Class<?>
returnType, Class<?> factoryType) {
if (Modifier.isPublic(factoryType.getModifiers())
&& !Modifier.isPublic(returnType.getModifiers())) {
=======================================
---
/extensions/assistedinject/test/com/google/inject/assistedinject/FactoryModuleBuilderTest.java
Wed May 15 19:11:47 2013
+++
/extensions/assistedinject/test/com/google/inject/assistedinject/FactoryModuleBuilderTest.java
Wed Jun 26 17:43:11 2013
@@ -464,11 +464,11 @@
public void testSingletonScopeOnAssistedClassIsIgnored() {
try {
Guice.createInjector(new AbstractModule() {
- @Override
- protected void configure() {
- install(new FactoryModuleBuilder().build(SingletonFactory.class));
- }
- });
+ @Override
+ protected void configure() {
+ install(new
FactoryModuleBuilder().build(SingletonFactory.class));
+ }
+ });
fail();
} catch (CreationException ce) {
assertEquals(1, ce.getErrorMessages().size());
@@ -483,7 +483,7 @@
interface SingletonFactory {
AssistedSingleton create(String string);
}
-
+
@SuppressWarnings("GuiceAssistedInjectScoping")
@Singleton
static class AssistedSingleton {
=======================================
---
/extensions/assistedinject/test/com/google/inject/assistedinject/FactoryProvider2Test.java
Thu May 16 11:00:54 2013
+++
/extensions/assistedinject/test/com/google/inject/assistedinject/FactoryProvider2Test.java
Wed Jun 26 17:43:11 2013
@@ -1036,10 +1036,10 @@
static class Segway implements Car {
@Inject Injector injector;
-
+
Color getColor() { return injector.getInstance(Key.get(Color.class,
FactoryProvider2.DEFAULT_ANNOTATION)); }
}
-
+
public void testReturnValueMatchesParamValue() {
Injector injector = Guice.createInjector(new AbstractModule() {
@Override
@@ -1058,7 +1058,7 @@
}
private final Delegater delegate;
-
+
@Inject Delegater(@Assisted Delegater delegater) {
this.delegate = delegater;
}
=======================================
--- /extensions/persist/lib/db4o-6.4.14.8131-java5.jar Fri Sep 10 19:10:20
2010
+++ /extensions/persist/lib/db4o-6.4.14.8131-java5.jar Wed Jun 26 17:43:11
2013
Binary file, no diff available.
=======================================
--- /lib/build/jdiff/black.gif Sun Oct 31 13:39:41 2010
+++ /lib/build/jdiff/black.gif Wed Jun 26 17:43:11 2013
Binary file, no diff available.
=======================================
--- /lib/build/jdiff/jdiff.jar Sun Oct 31 13:39:41 2010
+++ /lib/build/jdiff/jdiff.jar Wed Jun 26 17:43:11 2013
Binary file, no diff available.
=======================================
--- /lib/build/jdiff/xerces.jar Sun Oct 31 13:39:41 2010
+++ /lib/build/jdiff/xerces.jar Wed Jun 26 17:43:11 2013
File is too large to display a diff.
--
You received this message because you are subscribed to the Google Groups
"google-guice-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-guice-dev.
For more options, visit https://groups.google.com/groups/opt_out.