1. 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
  2. 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
  3. 5960719 Don't reimplement provision requests for production bindings that replace modifiable methods by ronshapiro · 6 years ago
  4. 1d5d829 Limit the number of requests and entry points reported explicitly for errors. by dpb · 6 years ago
  5. d9f89bb Fix binding expressions for subcomponent builders to work for subcomponent factories as well. by cgdecker · 6 years ago
  6. e572371 Rename createAncillaryClasses to make it clear that the classes are package private by ronshapiro · 6 years ago
  7. 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
  8. d340886 Add the ability to create factory types for components instead of builders. by cgdecker · 6 years ago
  9. 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
  10. 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
  11. 589a952 Properly instantiate map binding framework instances in AOT where the AbstractMapFactory.Builder.putAll() method is passed a DelegateFactory. by ronshapiro · 6 years ago
  12. 80b847c Correctly cast expressions that are derived from framework instances that are returned from component methods in AOT. by ronshapiro · 6 years ago
  13. 08d53d8 Use shorter names for the proxy methods on factories. by ronshapiro · 6 years ago
  14. 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
  15. e6215df Fix coverage runs by ronshapiro · 6 years ago
  16. 4612457 Propagate compiler options related to generation from a base implementation through to all of its future subclass implementations by ronshapiro · 6 years ago
  17. fed0de5 Somewhat hacky fix for issue with missing paramters in AOTS configureInitialization/initialize methods. by cgdecker · 6 years ago
  18. 0be7193 Make component requirement fields come first in a component. by cgdecker · 6 years ago
  19. 88023c4 Make component requirement fields in concrete components final. by cgdecker · 6 years ago
  20. 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
  21. 19fe370 Ban repeated modules that have scoped bindings by ronshapiro · 6 years ago
  22. adba5c4 Fold BindingMethodImplementation into MethodBindingExpression, and instead extract the decision making of whether+how to scope into a MethodImplementationStrategy. by ronshapiro · 6 years ago
  23. 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
  24. 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
  25. c60f0b8 Put builder setter methods before the build() method. by cgdecker · 6 years ago
  26. 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
  27. 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
  28. bab8630 Automated rollback of 4695ff5115ece15f92b67c5640594f8c624e451a by jgc · 6 years ago
  29. edd966c When doing module-binding validation, resolve all bindings in all modules for included subcomponents. by dpb · 6 years ago
  30. 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
  31. 4695ff5 Ban repeated modules that have scoped bindings by ronshapiro · 6 years ago
  32. 14e8727 Mandate that we only ever use DaggerTypes/DaggerElements. by ronshapiro · 6 years ago
  33. 96fcce8 Undo the specific types optimization now that the javac imports regression has been fixed upstream by ronshapiro · 6 years ago
  34. ecd8301 Decouple module binding graphs' resolved keys from their actual entry points. by dpb · 6 years ago
  35. 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
  36. 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
  37. 68b2153 Disallow repeated @ProducerModules across components in the same ancestry by ronshapiro · 6 years ago
  38. ab9cdbc When checking for a qualifier on an element, check to make sure the element is superficially valid. by ronshapiro · 6 years ago
  39. 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
  40. ae5b407 Internal change by dstrasburg · 6 years ago
  41. 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
  42. 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
  43. 6fe9e81 Fix framework initialization cycles in modifiable binding expressions by ronshapiro · 6 years ago
  44. f59c53e Implement modifiable module methods for modules who's bindings have been pruned from the binding graph by ronshapiro · 6 years ago
  45. 3a46e07 Run binding graph validation on subcomponents that are being processed in ahead-of-time subcomponents mode by ronshapiro · 6 years ago
  46. 924b0b0 Stop treating bindings with module instance state as modifiable, and instead consider the module itself as modifiable. by ronshapiro · 6 years ago
  47. dab3097 Run hjar testing for all functional test code by ronshapiro · 6 years ago
  48. 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
  49. 7534b90 Ignore all @Inject-constructed bindings when checking for incompatible scopes when validating module binding graphs. by dpb · 6 years ago
  50. 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
  51. fd7f1b3 Don't reuse the same method name from a previously generated modifiable binding method. by ronshapiro · 6 years ago
  52. 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
  53. 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
  54. f8e7869 Simplify the mechanism to set a delegate factory by ronshapiro · 6 years ago
  55. 186de81 Run SPI plugins for modules when dagger.moduleBindingValidation is enabled. by bcorso · 6 years ago
  56. 024755f Use delegates for modified producerFromProvider expressions too by ronshapiro · 6 years ago
  57. 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
  58. 7b1b232 Fixes a bug where @Binds methods with a missing dependency were not properly overridden in later components by ronshapiro · 6 years ago
  59. 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
  60. c940d6d Don't recancel producers that have already been cancelled in a superclass implementation by ronshapiro · 6 years ago
  61. 9c74c2c Always implement requests for Lazy<T> and Provider<Lazy<T>> in ahead-of-time subcomponents mode by ronshapiro · 6 years ago
  62. f0b5d1c Implement most of a component builder with the base component implementation in ahead-of-time subcomponents by ronshapiro · 6 years ago
  63. 79f2bdc Automated rollback of d67f535a6f43301390b50dd64b4f95d6005040b9 by ronshapiro · 6 years ago
  64. d67f535 Simplify the mechanism to set a delegate factory by ronshapiro · 6 years ago
  65. 3b0fcc8 Make sure all processing steps defer elements if TypeNotPresentException is thrown. by dpb · 6 years ago
  66. 66dd69f Check the accessibility of types in BindingMethodImplementation as well by ronshapiro · 6 years ago
  67. 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
  68. ac53c25 Create a new modifiable binding type for production bindings and @ProductionScope by ronshapiro · 6 years ago
  69. cb34ff4 Fix an infinite recursion cause by not properly qualifying references to modifiable abstract methods by ronshapiro · 6 years ago
  70. 623461f Report duplicate bindings only once, not once per request. by dpb · 6 years ago
  71. 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
  72. 048c4e1 Automated rollback of 57dfca7aba13330dc6554a62bded55396d5e5373 and 94c28e7ae1310964d4960fd9aa13392b3f9764ef by ronshapiro · 6 years ago
  73. df2e6d2 Make a test slightly simpler by ronshapiro · 6 years ago
  74. ad1ed9f Make AOT implementation details protected, not public, wherever possible by ronshapiro · 6 years ago
  75. 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
  76. 2137a2c Automated rollback of 218dd448dfd1d791480f13e507eed567fdabae43 by ronshapiro · 6 years ago
  77. 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
  78. 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
  79. a0955fb Add test coverage for using the matchingModifiableBindingMethod from a super implementation by ronshapiro · 6 years ago
  80. 4878b18 Remove stray comment by ronshapiro · 6 years ago
  81. 71d8efe Add a uses-sdk declaration in the functional tests manifest to appease blaze by ronshapiro · 6 years ago
  82. c8f6213 Fix a bug in AOT where missing binding methods for ArrayTypes[] produced a crash in the processor by ronshapiro · 6 years ago
  83. 28f06f2 When @Binds methods are scoped and the binding's dependency is missing, treat the binding itself as missing by ronshapiro · 6 years ago
  84. 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
  85. fb6b9aa Validate that components do not have a factory method for a subcomponent that has a builder. by cgdecker · 6 years ago
  86. 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
  87. 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
  88. b409d28 Migrate from AndroidSupportInjectionModule to AndroidInjectionModule. by ronshapiro · 6 years ago
  89. 221f000 Remove code related to the old format of binding injector factories with wildcards by ronshapiro · 6 years ago
  90. 8d759b2 Wrap framework instances of modifiable bindings in their own methods by ronshapiro · 6 years ago
  91. c30a204 Extract the map multibinding validation tests from MapBindingComponentProcessorTest. by dpb · 6 years ago
  92. d89982a Remove generated production executor modules by ronshapiro · 6 years ago
  93. 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
  94. ff16ee5 Remove remaining released releasablereferences references by ronshapiro · 6 years ago
  95. a72c342 Remove the deprecated dagger.releasablereferences by ronshapiro · 6 years ago
  96. 3be80e0 Move producer cancellation out of ProducerNodeInstanceBindingExpression and into ComponentModelBuilder by ronshapiro · 6 years ago
  97. 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
  98. a46aea8 When a formerly modifiable key is now no longer modifiable, mark the method final by ronshapiro · 6 years ago
  99. 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
  100. aa0ebd6 Add AOT tests for JDK8 by ronshapiro · 6 years ago