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.


Reply via email to