- ff2db63 When naming the key of a nested class type, use the enclosing class name if the nested type's simple name is very common (like "Builder", "Factory", etc). by ronshapiro · 6 years ago
- 51e63e9 Updating dagger.model.Key.toString() to provide stable string for binding annotations with parameters specified in a different order. Currently @Blah(a = "a", b = "b") and @Blah(b = "b", a = "a") will produce different toString() results. by idk · 6 years ago
- 5960719 Don't reimplement provision requests for production bindings that replace modifiable methods by ronshapiro · 6 years ago
- 1d5d829 Limit the number of requests and entry points reported explicitly for errors. by dpb · 6 years ago
- d9f89bb Fix binding expressions for subcomponent builders to work for subcomponent factories as well. by cgdecker · 6 years ago
- e572371 Rename createAncillaryClasses to make it clear that the classes are package private by ronshapiro · 6 years ago
- cf4d9b3 Make ModuleValidator check for inclusion of subcomponent factory types in the subcomponents field of the annotation, in addition to builders. by cgdecker · 6 years ago
- d340886 Add the ability to create factory types for components instead of builders. by cgdecker · 6 years ago
- d5701cc Correct the internal representation of return types for modifiable methods in final components. Before this CL, we could refer to ModifiableConcreteBindingExpression that was defined in a superclass implementation, but we'd recreate the instance of the BindingExpression and consider it to have a different subtype. by ronshapiro · 6 years ago
- e635ca1 Don't throw an exception from pruned modifiable module methods, since they may still be called during framework instance initialization. We need to return _something_, and unlike framework instances where we can return a MissingBindingFactory that always throws, we don't have any wrapper type for module instances, so return null instead. by ronshapiro · 6 years ago
- 589a952 Properly instantiate map binding framework instances in AOT where the AbstractMapFactory.Builder.putAll() method is passed a DelegateFactory. by ronshapiro · 6 years ago
- 80b847c Correctly cast expressions that are derived from framework instances that are returned from component methods in AOT. by ronshapiro · 6 years ago
- 08d53d8 Use shorter names for the proxy methods on factories. by ronshapiro · 6 years ago
- fa714e9 For non-abstract modules that A) are required by a component, B) can be instantiated by Dagger, and C) have no corresponding setter in the component's builder, do not add a field to the builder for the module. by cgdecker · 6 years ago
- e6215df Fix coverage runs by ronshapiro · 6 years ago
- 4612457 Propagate compiler options related to generation from a base implementation through to all of its future subclass implementations by ronshapiro · 6 years ago
- fed0de5 Somewhat hacky fix for issue with missing paramters in AOTS configureInitialization/initialize methods. by cgdecker · 6 years ago
- 0be7193 Make component requirement fields come first in a component. by cgdecker · 6 years ago
- 88023c4 Make component requirement fields in concrete components final. by cgdecker · 6 years ago
- 3b61bfe Fix a bug where two component methods for the same binding request are represented by a modifiable binding. Before this fix, only one would be registered modifiable and the other one would be forgotten and never reimplemented. by ronshapiro · 6 years ago
- 19fe370 Ban repeated modules that have scoped bindings by ronshapiro · 6 years ago
- adba5c4 Fold BindingMethodImplementation into MethodBindingExpression, and instead extract the decision making of whether+how to scope into a MethodImplementationStrategy. by ronshapiro · 6 years ago
- 3071be1 When casting dependency expressions that are used as arguments of other expressions, update the logic to consider the type erasure model of ahead-of-time subcomponents. by ronshapiro · 6 years ago
- bf79cd3 No longer consider @Produces methods and @ProductionScope bindings as modifiable, since they're no longer allowed to be redefined across component implementations. by ronshapiro · 6 years ago
- c60f0b8 Put builder setter methods before the build() method. by cgdecker · 6 years ago
- 4520abd Change fields for abstract component builders to be protected rather than public since they now only need to be accessible from subclasses. by cgdecker · 6 years ago
- 59a6535 Change component constructors and initialization methods to no longer take a single Builder argument when a Builder for the component is present, but rather to take all of their requirements as parameters in all cases. by cgdecker · 6 years ago
- bab8630 Automated rollback of 4695ff5115ece15f92b67c5640594f8c624e451a by jgc · 6 years ago
- edd966c When doing module-binding validation, resolve all bindings in all modules for included subcomponents. by dpb · 6 years ago
- 50d7010 Create dagger.producers.Producers.immediate(Failed)Producer, so that users don't have to refer to the internal.Producers versions of those methods (or think that they aren't meant to be used, which they are. by ronshapiro · 6 years ago
- 4695ff5 Ban repeated modules that have scoped bindings by ronshapiro · 6 years ago
- 14e8727 Mandate that we only ever use DaggerTypes/DaggerElements. by ronshapiro · 6 years ago
- 96fcce8 Undo the specific types optimization now that the javac imports regression has been fixed upstream by ronshapiro · 6 years ago
- ecd8301 Decouple module binding graphs' resolved keys from their actual entry points. by dpb · 6 years ago
- af8a6af Remove experimentalAndroidMode2 since we don't have any plans to investigate this mode in near-midterm future. It's simple enough to revert if we ever want to bring it back. by ronshapiro · 6 years ago
- 7f5500f Report duplicate bindings even if they have no incoming dependency requests. This is in preparation for module binding validation, where there may not be any incoming dependency requests for a binding. by dpb · 6 years ago
- 68b2153 Disallow repeated @ProducerModules across components in the same ancestry by ronshapiro · 6 years ago
- ab9cdbc When checking for a qualifier on an element, check to make sure the element is superficially valid. by ronshapiro · 6 years ago
- 0ed1888 Use better names in KeyVariableNamer if it's a key for multibinding contribution. Instead of constructing a possibly unreadable name from the key type, use the binding element name instead. by ronshapiro · 6 years ago
- ae5b407 Internal change by dstrasburg · 6 years ago
- 5e96ced Generate a proxy method for module constructors that are not public, and use them in cases where the generated component cannot reference the constructor. by ronshapiro · 6 years ago
- 8373a3f Fix a weird bug where the base builder implementation used one set of disambiguated names, and the final builder implementation used another set of names. by ronshapiro · 6 years ago
- 6fe9e81 Fix framework initialization cycles in modifiable binding expressions by ronshapiro · 6 years ago
- f59c53e Implement modifiable module methods for modules who's bindings have been pruned from the binding graph by ronshapiro · 6 years ago
- 3a46e07 Run binding graph validation on subcomponents that are being processed in ahead-of-time subcomponents mode by ronshapiro · 6 years ago
- 924b0b0 Stop treating bindings with module instance state as modifiable, and instead consider the module itself as modifiable. by ronshapiro · 6 years ago
- dab3097 Run hjar testing for all functional test code by ronshapiro · 6 years ago
- 3b5c7a4 When detecting a child subcomponent's superclass implementation, don't assume that that it must be nested directly in the current component's superclass implementation. The child subcomponent builder may have been a pruned binding there, causing no generation of the subcomponent to occur. by ronshapiro · 6 years ago
- 7534b90 Ignore all @Inject-constructed bindings when checking for incompatible scopes when validating module binding graphs. by dpb · 6 years ago
- c7c432a Extract ComponentDescriptor.BuilderSpec to a new top-level type, ComponentCreatorDescriptor, and change how it maps requirements to builder methods. by cgdecker · 6 years ago
- fd7f1b3 Don't reuse the same method name from a previously generated modifiable binding method. by ronshapiro · 6 years ago
- a70d079 Fix a bug where the contribution type of a @Binds method with a missing dependency was not taken into consideration by ronshapiro · 6 years ago
- 0f62737 When pruning framework instances, return an actual instance instead of throwing an exception. If the modifiable method is called during the initialization of a pruned binding, there must be a valid return value even thought it will never be used. by ronshapiro · 6 years ago
- f8e7869 Simplify the mechanism to set a delegate factory by ronshapiro · 6 years ago
- 186de81 Run SPI plugins for modules when dagger.moduleBindingValidation is enabled. by bcorso · 6 years ago
- 024755f Use delegates for modified producerFromProvider expressions too by ronshapiro · 6 years ago
- 14a1a94 When modifiable bindings are pruned, don't try/bother reimplementing them and instead let them be dangling methods that are never called. by ronshapiro · 6 years ago
- 7b1b232 Fixes a bug where @Binds methods with a missing dependency were not properly overridden in later components by ronshapiro · 6 years ago
- 325b516 Add module-level validation. When -Adagger.moduleBindingValidation=ERROR or =WARNING is set, then each module is processed as a kind of component (without generating any code) in order to validate the bindings installed by it and all included modules. Any binding graph errors, such as duplicate bindngs (but not including missing bindings), will be reported as errors or warnings depending on the option. SPI plugins will also run on those module-level binding graphs. by dpb · 6 years ago
- c940d6d Don't recancel producers that have already been cancelled in a superclass implementation by ronshapiro · 6 years ago
- 9c74c2c Always implement requests for Lazy<T> and Provider<Lazy<T>> in ahead-of-time subcomponents mode by ronshapiro · 6 years ago
- f0b5d1c Implement most of a component builder with the base component implementation in ahead-of-time subcomponents by ronshapiro · 6 years ago
- 79f2bdc Automated rollback of d67f535a6f43301390b50dd64b4f95d6005040b9 by ronshapiro · 6 years ago
- d67f535 Simplify the mechanism to set a delegate factory by ronshapiro · 6 years ago
- 3b0fcc8 Make sure all processing steps defer elements if TypeNotPresentException is thrown. by dpb · 6 years ago
- 66dd69f Check the accessibility of types in BindingMethodImplementation as well by ronshapiro · 6 years ago
- 1d8f740 Constructors parameters for abstract component implementations are no longer needed now that we have configureInitialization() methods. Their only purpose is to guard against unintentional subclassing. by ronshapiro · 6 years ago
- ac53c25 Create a new modifiable binding type for production bindings and @ProductionScope by ronshapiro · 6 years ago
- cb34ff4 Fix an infinite recursion cause by not properly qualifying references to modifiable abstract methods by ronshapiro · 6 years ago
- 623461f Report duplicate bindings only once, not once per request. by dpb · 6 years ago
- c07a0be Create a helper method to check that builder requirements have been set. In addition to being easier to read when there are numerous requirements to check, it should decrease the amount of bytecode and also the duplication of the "must be set" constant in many class files by ronshapiro · 6 years ago
- 048c4e1 Automated rollback of 57dfca7aba13330dc6554a62bded55396d5e5373 and 94c28e7ae1310964d4960fd9aa13392b3f9764ef by ronshapiro · 6 years ago
- df2e6d2 Make a test slightly simpler by ronshapiro · 6 years ago
- ad1ed9f Make AOT implementation details protected, not public, wherever possible by ronshapiro · 6 years ago
- 9b197da When modifiable framework instances are in fact modified, ensure that superclass implementations get the correct provider instance during initialization. by ronshapiro · 6 years ago
- 2137a2c Automated rollback of 218dd448dfd1d791480f13e507eed567fdabae43 by ronshapiro · 6 years ago
- 3216741 When modifiable framework instances are in fact modified, ensure that superclass implementations get the correct provider instance during initialization. by ronshapiro · 6 years ago
- 1ae4c00 Modifiable methods should always return publicly accessible types in case that their eventual subclass implementations need to implement the method in a package in which the type isn't accessible. by ronshapiro · 6 years ago
- a0955fb Add test coverage for using the matchingModifiableBindingMethod from a super implementation by ronshapiro · 6 years ago
- 4878b18 Remove stray comment by ronshapiro · 6 years ago
- 71d8efe Add a uses-sdk declaration in the functional tests manifest to appease blaze by ronshapiro · 6 years ago
- c8f6213 Fix a bug in AOT where missing binding methods for ArrayTypes[] produced a crash in the processor by ronshapiro · 6 years ago
- 28f06f2 When @Binds methods are scoped and the binding's dependency is missing, treat the binding itself as missing by ronshapiro · 6 years ago
- 305681e Merge dagger.model.BindingGraph.BindingNode into dagger.model.Binding so users don't have to figure out the difference. by dpb · 6 years ago
- fb6b9aa Validate that components do not have a factory method for a subcomponent that has a builder. by cgdecker · 6 years ago
- 350368e Report map multibinding contribution errors once regardless of whether the map is requested as Map<K, V>, Map<K, Provider<V>>, or Map<K, Producer<V>>. by dpb · 6 years ago
- c7e7c4f Ensure that @ProductionScope bindings are always resolved in the highest component that installs the binding, or for @Inject bindings, the highest @ProductionScope component by ronshapiro · 6 years ago
- b409d28 Migrate from AndroidSupportInjectionModule to AndroidInjectionModule. by ronshapiro · 6 years ago
- 221f000 Remove code related to the old format of binding injector factories with wildcards by ronshapiro · 6 years ago
- 8d759b2 Wrap framework instances of modifiable bindings in their own methods by ronshapiro · 6 years ago
- c30a204 Extract the map multibinding validation tests from MapBindingComponentProcessorTest. by dpb · 6 years ago
- d89982a Remove generated production executor modules by ronshapiro · 6 years ago
- b5aac14 If onProducerFutureCancelled() would be empty in a component that has already implemented it, don't bother overridding just to call super. by ronshapiro · 6 years ago
- ff16ee5 Remove remaining released releasablereferences references by ronshapiro · 6 years ago
- a72c342 Remove the deprecated dagger.releasablereferences by ronshapiro · 6 years ago
- 3be80e0 Move producer cancellation out of ProducerNodeInstanceBindingExpression and into ComponentModelBuilder by ronshapiro · 6 years ago
- 3bd8632 Present optional bindings are not modifiable. Even if the dependency is modifiable, the optional binding itself can't change by ronshapiro · 6 years ago
- a46aea8 When a formerly modifiable key is now no longer modifiable, mark the method final by ronshapiro · 6 years ago
- f060f60 Remove one TODO that I incorrectly thought was related to AOT, and also switch another TODO to AOT after-work by ronshapiro · 6 years ago
- aa0ebd6 Add AOT tests for JDK8 by ronshapiro · 6 years ago