Branch: 
refs/heads/moe_writing_branch_from_b605a34702d8d8112983aca891e3e2b6987ec45e
  Home:   https://github.com/google/guice
  Commit: 9be698db4a8fa560cfae23795d629b018ad009cf
      
https://github.com/google/guice/commit/9be698db4a8fa560cfae23795d629b018ad009cf
  Author: lukes <[email protected]>
  Date:   2015-02-24 (Tue, 24 Feb 2015)

  Changed paths:
    M core/src/com/google/inject/internal/InternalContext.java

  Log Message:
  -----------
  Minor optimizations to InternalContext
* use ArrayList.removeRange to pop the context, this allows us to elide range
checks.
* Don't eagerly allocate a Dependency object for the pushState(Key<?>,Object)
method, instead allocate one when constructing the DependencyChain.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=85562648


  Commit: 7445e44ba8acbbfc09116fec71d59066cdae8721
      
https://github.com/google/guice/commit/7445e44ba8acbbfc09116fec71d59066cdae8721
  Author: sameb <[email protected]>
  Date:   2015-02-24 (Tue, 24 Feb 2015)

  Changed paths:
    M core/src/com/google/inject/internal/ProviderMethodsModule.java
    M core/src/com/google/inject/spi/Elements.java
    M core/test/com/google/inject/spi/ModuleAnnotatedMethodScannerTest.java

  Log Message:
  -----------
  Fix ElementSource attribution for ModuleAnnotatedMethodScanner bindings.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=86029834


  Commit: 32780fa2a30bb10f7c85a0a43845308af7bcefdd
      
https://github.com/google/guice/commit/32780fa2a30bb10f7c85a0a43845308af7bcefdd
  Author: christophf <[email protected]>
  Date:   2015-02-24 (Tue, 24 Feb 2015)

  Changed paths:
    A extensions/assistedinject/.gitignore
    A extensions/jmx/.gitignore
    A extensions/mini/.gitignore
    A extensions/multibindings/.gitignore
    M 
extensions/multibindings/src/com/google/inject/multibindings/OptionalBinder.java
    A extensions/spring/.gitignore
    A extensions/struts2/.gitignore

  Log Message:
  -----------
  Update OptionalBinder javadoc comment to use toInstance() vs to() when a 
binding value is used.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=86504275


  Commit: 0910c1e69ee2b0587f898cb292d4e9f8d9338e28
      
https://github.com/google/guice/commit/0910c1e69ee2b0587f898cb292d4e9f8d9338e28
  Author: cgruber <[email protected]>
  Date:   2015-02-24 (Tue, 24 Feb 2015)

  Changed paths:
    M build.properties
    M build.xml
    M core/src/com/google/inject/internal/ProviderMethodsModule.java
    M core/src/com/google/inject/spi/Elements.java
    M core/src/com/google/inject/spi/ModuleSource.java
    A extensions/dagger-adapter/build.properties
    A extensions/dagger-adapter/build.xml
    A extensions/dagger-adapter/lib/dagger-2.0-20150205.014011-14.jar
    A extensions/dagger-adapter/pom.xml
    A 
extensions/dagger-adapter/src/com/google/inject/daggeradapter/DaggerAdapter.java
    A 
extensions/dagger-adapter/src/com/google/inject/daggeradapter/DaggerMethodScanner.java
    A 
extensions/dagger-adapter/test/com/google/inject/daggeradapter/DaggerAdapterTest.java
    M extensions/pom.xml

  Log Message:
  -----------
  Create a dagger/guice interoperability library, which permits (with 
limitations) the use of Dagger modules in Guice.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=86617720


  Commit: a36310535c69e68b25d74b49ee9f9442abebd954
      
https://github.com/google/guice/commit/a36310535c69e68b25d74b49ee9f9442abebd954
  Author: sameb <[email protected]>
  Date:   2015-02-24 (Tue, 24 Feb 2015)

  Changed paths:
    M 
extensions/assistedinject/src/com/google/inject/assistedinject/FactoryProvider2.java
    M 
extensions/assistedinject/test/com/google/inject/assistedinject/FactoryProvider2Test.java

  Log Message:
  -----------
  Fix https://github.com/google/guice/issues/904 -- assistedinject factory 
method
scanning did not ignore synthetic methods created by java8, leading to errors
when the factory interface extended from a superinterface that had generics.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=86628771


  Commit: 54da0e3ca924a5040e88a1c067f9f6760a14b20b
      
https://github.com/google/guice/commit/54da0e3ca924a5040e88a1c067f9f6760a14b20b
  Author: sameb <[email protected]>
  Date:   2015-02-24 (Tue, 24 Feb 2015)

  Changed paths:
    M core/src/com/google/inject/Binder.java
    M core/src/com/google/inject/internal/InheritingState.java
    M core/src/com/google/inject/internal/InjectorShell.java
    A 
core/src/com/google/inject/internal/ModuleAnnotatedMethodScannerProcessor.java
    M core/src/com/google/inject/internal/ProviderMethodsModule.java
    M core/src/com/google/inject/internal/State.java
    M core/src/com/google/inject/spi/DefaultElementVisitor.java
    M core/src/com/google/inject/spi/ElementVisitor.java
    M core/src/com/google/inject/spi/Elements.java
    M core/src/com/google/inject/spi/ModuleAnnotatedMethodScanner.java
    A core/src/com/google/inject/spi/ModuleAnnotatedMethodScannerBinding.java
    M core/src/com/google/inject/util/Modules.java
    M core/test/com/google/inject/internal/WeakKeySetTest.java
    M core/test/com/google/inject/spi/ModuleAnnotatedMethodScannerTest.java
    M core/test/com/google/inject/util/OverrideModuleTest.java

  Log Message:
  -----------
  Rework the public API into scanning for additional @Provides-like annotations.
Instead of requiring each scanner to explicitly wrap the modules to-be-scanned,
we add a Binder.scanModulesForAnnotatedMethods method that takes a scanner,
and we scan every installed module.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=86751798


  Commit: 0b33461e35fa3a769ce23a9812a80acdc281f62c
      
https://github.com/google/guice/commit/0b33461e35fa3a769ce23a9812a80acdc281f62c
  Author: sameb <[email protected]>
  Date:   2015-02-24 (Tue, 24 Feb 2015)

  Changed paths:
    A 
extensions/multibindings/src/com/google/inject/multibindings/ClassMapKey.java
    M 
extensions/multibindings/src/com/google/inject/multibindings/MapBinder.java
    A extensions/multibindings/src/com/google/inject/multibindings/MapKey.java
    M 
extensions/multibindings/src/com/google/inject/multibindings/Multibinder.java
    A 
extensions/multibindings/src/com/google/inject/multibindings/MultibindingsScanner.java
    M 
extensions/multibindings/src/com/google/inject/multibindings/OptionalBinder.java
    A 
extensions/multibindings/src/com/google/inject/multibindings/ProvidesIntoMap.java
    A 
extensions/multibindings/src/com/google/inject/multibindings/ProvidesIntoOptional.java
    A 
extensions/multibindings/src/com/google/inject/multibindings/ProvidesIntoSet.java
    A 
extensions/multibindings/src/com/google/inject/multibindings/StringMapKey.java
    M 
extensions/multibindings/test/com/google/inject/multibindings/AllTests.java
    A 
extensions/multibindings/test/com/google/inject/multibindings/ProvidesIntoTest.java

  Log Message:
  -----------
  Add a @ProvidesInto{Set,Map,Optional} & MultibindingsScanner that allow users
to annotate methods in a Module as elements that can contribute to a
Multibinder, MapBinder, or OptionalBinder.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=86801706


  Commit: 9ba15fed06d4d22013a1d4c885a4181a505fdbb4
      
https://github.com/google/guice/commit/9ba15fed06d4d22013a1d4c885a4181a505fdbb4
  Author: sameb <[email protected]>
  Date:   2015-02-24 (Tue, 24 Feb 2015)

  Changed paths:
    M 
extensions/multibindings/src/com/google/inject/multibindings/ProvidesIntoMap.java
    M 
extensions/multibindings/src/com/google/inject/multibindings/ProvidesIntoOptional.java
    M 
extensions/multibindings/src/com/google/inject/multibindings/ProvidesIntoSet.java

  Log Message:
  -----------
  s/Set/Optional and fix grammar.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=86803793


  Commit: 2ca413060c9552ae67582d1c538023333d44902c
      
https://github.com/google/guice/commit/2ca413060c9552ae67582d1c538023333d44902c
  Author: sameb <[email protected]>
  Date:   2015-02-24 (Tue, 24 Feb 2015)

  Changed paths:
    M extensions/dagger-adapter/pom.xml

  Log Message:
  -----------
  Give the dagger interop extension a name, remove the explicit dependency on 
the parent (which should happen automatically), and use ${project.version} 
instead of hard-coding the version... like the other extensions.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=86826607


  Commit: db4dbfd4df8a4394de71c946e6e143ff5dcb26c5
      
https://github.com/google/guice/commit/db4dbfd4df8a4394de71c946e6e143ff5dcb26c5
  Author: cgruber <[email protected]>
  Date:   2015-02-24 (Tue, 24 Feb 2015)

  Changed paths:
    M extensions/pom.xml
    M pom.xml

  Log Message:
  -----------
  Add a snapshot repository to guice's parent pom configuration, so it can rely 
on snapshot versions of things while in development.

This should change nothing about release-time as snapshot dependencies are not 
kosher for release.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=86827570


  Commit: 85f14e03ee00b20e20fd0f018a00ef52fcf909b1
      
https://github.com/google/guice/commit/85f14e03ee00b20e20fd0f018a00ef52fcf909b1
  Author: sameb <[email protected]>
  Date:   2015-02-24 (Tue, 24 Feb 2015)

  Changed paths:
    M 
extensions/assistedinject/src/com/google/inject/assistedinject/FactoryProvider2.java
    M 
extensions/assistedinject/test/com/google/inject/assistedinject/FactoryProvider2Test.java

  Log Message:
  -----------
  Further fixes for https://github.com/google/guice/issues/904 -- java8 
generates
default methods for subclasses when they override generic methods with the more
specific type.

We use a two-tiered approach to fixing: (1) try to use MethodHandles + 
unreflectSpecial, which lets us call default method implementations directly, 
and if that doesn't work then (2) try to map default methods to compatible 
method signatures that could be the overrides of the method.  (1) may not 
always work because we're using a private API [new Lookup(clazz, int)], but we 
need to do that in order to non-public classes.  (2) may not always work 
because it's possible to have more than one compatible method signature.

In the unlikely case that both (1) & (2) fail, we give an error message.
Also: we must validate the default method's return type for visibility vs the 
factory type's visibility too.

This ends up with two possible differences caused by java8:
a) If the Lookup cxtor can't be used (different JDK, version skew, etc..) and 
there's more than one compatible method signature: we fail.
b) If the default method's return type isn't public but the factory is public: 
we fail.

For reference, javac8 generates a default method in the following scenario:
interface Parent<I extends CharSequence, O extends Number> {
O create(I input);
}
interface Child<String, Integer> {
Integer create(String input);
}

Child has a generated default method of:
Number create(CharSequence input);

... so, for example, failure could be newly triggered if 'Number' was 
package-private but Child was public, or if the reflection APIs didn't work and 
Child also had a 'Integer create(StringBuilder input);' method.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=87097207


Compare: https://github.com/google/guice/compare/4b864888ca18...85f14e03ee00

-- 
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/d/optout.

Reply via email to