Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(1297)

Issue 4532080: Yet another stab at Gin extensions

Can't Edit
Can't Publish+Mail
Start Review
Created:
12 years, 10 months ago by Aragos
Modified:
9 years, 3 months ago
CC:
google-gin_googlegroups.com
Base URL:
http://google-gin.googlecode.com/svn/trunk/
Visibility:
Public.

Description

A rewrite of the last version of Gin extensions for the current code base, as discussed here: http://codereview.appspot.com/3606041/ Extensions wave: https://wave.google.com/wave/waveref/googlewave.com/w+BcDOfmlPA This is a (very) alternative take on the gin extensions complex. I believe that it covers all the requirements in our Wave (and then some) and it works out beautifully in the implementation. :) Some thoughts that lead me down this road: * Parameterization and different locations of the hooks (i.e. "Instance", "Provider") are orthogonal, an extension can be parameterized and deal with instances. * Installing and parameterizing extensions should be easy, especially for the user. Some GWT-fu (super-source!) and re-imagining of Gin internals make this fun and painless. :) While no new tests have been added yet, this change passes all Gin tests unchanged. Take a look at BindingProvider and go from there, obviously taking a look at BindingProcessor is also recommended. Let me know what you think!

Patch Set 1 #

Total comments: 36

Patch Set 2 : Addressed minor issues #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1209 lines, -593 lines) Patch
M build.xml View 1 3 chunks +8 lines, -5 lines 0 comments Download
M src/com/google/gwt/inject/Inject.gwt.xml View 1 1 chunk +2 lines, -1 line 0 comments Download
M src/com/google/gwt/inject/client/AbstractGinModule.java View 1 2 chunks +10 lines, -1 line 0 comments Download
M src/com/google/gwt/inject/client/PrivateGinModule.java View 1 2 chunks +9 lines, -0 lines 0 comments Download
A src/com/google/gwt/inject/client/assistedinject/AssistedFactoryBuilder.java View 1 1 chunk +341 lines, -0 lines 0 comments Download
D src/com/google/gwt/inject/client/assistedinject/FactoryModule.java View 1 1 chunk +0 lines, -59 lines 0 comments Download
M src/com/google/gwt/inject/client/assistedinject/GinFactoryModuleBuilder.java View 1 1 chunk +3 lines, -341 lines 0 comments Download
M src/com/google/gwt/inject/client/binder/GinBinder.java View 1 2 chunks +21 lines, -1 line 0 comments Download
A src/com/google/gwt/inject/ginapi/README View 1 chunk +9 lines, -0 lines 0 comments Download
A src/com/google/gwt/inject/ginapi/com/google/gwt/inject/rebind/binding/BindingHandler.java View 1 chunk +21 lines, -0 lines 0 comments Download
A src/com/google/gwt/inject/ginapi/com/google/gwt/inject/rebind/binding/FactoryBindingHandler.java View 1 1 chunk +29 lines, -0 lines 0 comments Download
M src/com/google/gwt/inject/rebind/BindingsProcessor.java View 1 6 chunks +18 lines, -28 lines 0 comments Download
M src/com/google/gwt/inject/rebind/GinjectorBindings.java View 1 10 chunks +34 lines, -22 lines 0 comments Download
M src/com/google/gwt/inject/rebind/GinjectorGeneratorModule.java View 1 2 chunks +3 lines, -0 lines 0 comments Download
M src/com/google/gwt/inject/rebind/GinjectorOutputter.java View 1 4 chunks +4 lines, -5 lines 0 comments Download
M src/com/google/gwt/inject/rebind/adapter/BinderAdapter.java View 1 2 chunks +22 lines, -17 lines 0 comments Download
A src/com/google/gwt/inject/rebind/binding/AbstractBindingHandler.java View 1 1 chunk +56 lines, -0 lines 0 comments Download
A src/com/google/gwt/inject/rebind/binding/AsyncProviderBindingHandler.java View 1 chunk +49 lines, -0 lines 0 comments Download
A src/com/google/gwt/inject/rebind/binding/BindingCreationException.java View 1 1 chunk +41 lines, -0 lines 0 comments Download
A src/com/google/gwt/inject/rebind/binding/BindingHandler.java View 1 1 chunk +88 lines, -0 lines 0 comments Download
A src/com/google/gwt/inject/rebind/binding/BindingHandlerCollector.java View 1 1 chunk +27 lines, -0 lines 0 comments Download
A src/com/google/gwt/inject/rebind/binding/CallConstructorBindingHandler.java View 1 chunk +54 lines, -0 lines 0 comments Download
M src/com/google/gwt/inject/rebind/binding/CreatorBinding.java View 1 1 chunk +1 line, -1 line 0 comments Download
A src/com/google/gwt/inject/rebind/binding/FactoryBindingHandler.java View 1 1 chunk +74 lines, -0 lines 0 comments Download
A src/com/google/gwt/inject/rebind/binding/GwtDotCreateBindingHandler.java View 1 chunk +73 lines, -0 lines 0 comments Download
A src/com/google/gwt/inject/rebind/binding/ProviderBindingHandler.java View 1 chunk +49 lines, -0 lines 0 comments Download
A src/com/google/gwt/inject/rebind/binding/RemoteServiceBindingHandler.java View 1 chunk +44 lines, -0 lines 0 comments Download
M src/com/google/gwt/inject/rebind/reflect/ReflectUtil.java View 1 4 chunks +10 lines, -3 lines 0 comments Download
M src/com/google/gwt/inject/rebind/resolution/DependencyExplorer.java View 1 3 chunks +6 lines, -7 lines 0 comments Download
M src/com/google/gwt/inject/rebind/resolution/ImplicitBindingCreator.java View 1 5 chunks +60 lines, -91 lines 0 comments Download
M src/com/google/gwt/inject/rebind/util/GuiceUtil.java View 1 2 chunks +20 lines, -0 lines 0 comments Download
M test/com/google/gwt/inject/rebind/resolution/BindingResolverTest.java View 1 11 chunks +14 lines, -7 lines 0 comments Download
M test/com/google/gwt/inject/rebind/resolution/DependencyExplorerTest.java View 1 7 chunks +9 lines, -4 lines 0 comments Download

Messages

Total messages: 4
Aragos
Hi all, I finally got around to rewriting the extensions framework. It now works with ...
12 years, 10 months ago (2011-05-23 19:24:01 UTC) #1
bchambers
First round of comments. I think factoring some of the more "refactoring" stuff from the ...
12 years, 10 months ago (2011-05-23 20:53:17 UTC) #2
Aragos
I still need to think more about the integration with private modules (any help is ...
12 years, 10 months ago (2011-05-24 15:19:07 UTC) #3
philippe.beaudoin
12 years, 10 months ago (2011-05-24 18:48:03 UTC) #4
Took a quick look. I'm a bit tired after reviewing the wrong patch. Still: LGTM.

I will give it a shot with my use cases real soon.
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b