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.