1. ac6dd2b Don't call computeIfAbsent recursively, which breaks under java9 by ronshapiro · 8 years ago
  2. 3a891dd Inline requests for optional bindings by ronshapiro · 8 years ago
  3. 9563a02 Use Map.computeIfAbsent instead of c.g.c.cache.Cache. Drop the dependency on [][] by dpb · 8 years ago
  4. 3a179ec Move prod compiler code and guava/jdk Optional tests from their previous maven structure (src/{main,test}/) to the {java,javatest}/ model typical to bazel by ronshapiro · 9 years ago[Renamed from compiler/src/main/java/dagger/internal/codegen/BindingGraph.java]
  5. ffd98f6 Use java.util.Optional. by dpb · 9 years ago
  6. b50b8ae Add @BindsInstance, which can be used to add instance binding methods to component builders. by beder · 9 years ago
  7. b37b9ed Use the dependencies() method that's already in ComponentDescriptor. by dpb · 9 years ago
  8. d804a30 Publish Releasable References to Github and add an android/pom.xml so we can start releasing an Android-specific artifact by ronshapiro · 9 years ago
  9. 76fe9b9 Memoize BindingGraph.componentRequirements, which was already identified as a hotspot in 0fe3d92cdbccd449b070aacf3f90907d8e4d18ef by ronshapiro · 9 years ago
  10. 141148b Extract binding graph traversal logic from BindingGraphValidator. by dpb · 9 years ago
  11. 86fe3c7 Add componentType() to BindingGraph to avoid Law-of-Demeter chaining. by dpb · 9 years ago
  12. 75b9b72 Rework dependencies. by gak · 9 years ago
  13. 0835031 Correctly copy bindings that depend transitively on optional bindings with local present values. by dpb · 9 years ago
  14. 6624110 Java 8. Shit just got real. (redux) by gak · 9 years ago
  15. e0998bd Implement optional bindings for Dagger-Producers by dpb · 9 years ago
  16. 21e9542 Present a dependency cycle when @Binds methods refer to each other by ronshapiro · 9 years ago
  17. fbb6840 Add @Module.subcomponents as a way to add subcomponents to a component without needing to define a factory method. This allows Dagger to avoid generating a subcomponent implementation when a subcomponent goes unused. by ronshapiro · 9 years ago
  18. d8d950a Implement optional bindings by dpb · 9 years ago
  19. dc1a84c Move requiresModuleInstance() to ContributionBinding. It was only ever by ronshapiro · 9 years ago
  20. 60ebd65 Add an import to fix a broken javadoc tag. by gak · 9 years ago
  21. f53c3f9 Change a lot of the method signatures in BindingGraph and the Binding subtypes to only require Key and BindingKey instead of DependencyRequest because they didn't actually need the full request. by gak · 9 years ago
  22. b1b536b Change the way we make synthetic multibindings to not depend on the type of the request; it only depends on the types of the contributions. This will now just rely on the implict conversion of Provider -> Producer that we use for all other provision bindings in production components. by gak · 9 years ago
  23. 147ef93 Remove some unneeded type arguments. by gak · 9 years ago
  24. a0bd775 Create bindings for @Binds methods even when the RHS cannot be resolved by ronshapiro · 9 years ago
  25. d697327 Detect local multibinding contributions from @Binds methods too. by ronshapiro · 9 years ago
  26. 90263a5 Don't use strings in the multibinding contribution identifier in Key, since they aren't guaranteed to be unique. by dpb · 9 years ago
  27. e55f074 Update Dagger to use Google's new standard import order: by gak · 9 years ago
  28. 1b65b6a Add blank line above package declaration by dpb · 9 years ago
  29. a69ead5 Use a synthetic binding for Set<ReleasableReferenceManager> rather than individual synthetic multibinding contributions. by dpb · 9 years ago
  30. dd27603 Make BindingDeclaration's bindingElement optional, so that undeclared bindings such as synthetic multibindings don't use an arbitrary request element. by dpb · 9 years ago
  31. 633c97b Automated g4 rollback of changelist 126801598. by gak · 9 years ago
  32. 7d2d3a5 Make BindingDeclaration's bindingElement optional, so that undeclared bindings such as synthetic multibindings don't use an arbitrary request element. by dpb · 9 years ago
  33. c101866 Replace BindingKey.create(Kind, Key) with specific factory methods. Makes calling code more concise and readable. by dpb · 9 years ago
  34. 5dde42d Clean up opensource repo; remove Dagger 1 references by ronshapiro · 9 years ago
  35. 1da2999 Refactor the way we add the synthetic Map<K, V> and Map<K, Produced<V>> bindings and the synthetic multibindings. by dpb · 9 years ago
  36. 7edcd4d Refactoring in preparation for releasable references feature. by dpb · 9 years ago
  37. 40260f1 Restore some previously scrubbed comments. by Christian Gruber · 9 years ago
  38. 828b1a2 Small refactoring of the internals of BindingGraph.Factory.Resolver. by dpb · 9 years ago
  39. 23c17b8 Implement @Binds @IntoMap by ronshapiro · 9 years ago
  40. a360371 Fix map bindings with contributions from both @Produces and @Provides methods. by beder · 9 years ago
  41. 846fd94 Implement @Binds @IntoSet and @ElementsIntoSet by ronshapiro · 9 years ago
  42. 2df89f9 Correctly record the owning component for bindings that were previously resolved in one ancestor, but depend on multibinding contributions from another ancestor. by dpb · 10 years ago
  43. 4955ef9 Change interface HasSourceElement to base class BindingDeclaration (implementing HasKey), and delete SourceElement itself. by dpb · 10 years ago
  44. b365b4a Disallow component builder setters for abstract modules. by dpb · 10 years ago
  45. f764700 Refactor BindingGraph.componentRequirements() for readability. by dpb · 10 years ago
  46. e1b68a2 Add @Bind for delegating bindings from one key to another. by gak · 10 years ago
  47. 5db92fe Remove the ability to set the production executor on a component builder. by beder · 10 years ago
  48. ad76361 Rename binding factory methods from "implicitMapOf{Provider,Producer}Binding" to "syntheticMapOfValues(OrProduced)Binding", since they return a synthetic binding for a plain map. by dpb · 10 years ago
  49. 4cd56e8 Implement @Reusable. by dpb · 10 years ago
  50. 407b7bd When a resolver finds bindings previously resolved in an ancestor and has no local contributions, always resolve in the parent component in case there are local contributions in some component between this one and the ancestor with the previously resolved bindings. by dpb · 10 years ago
  51. 938b752 Report conflicts between bindings in subcomponents and those in ancestor components. by dpb · 10 years ago
  52. 893f770 Add @Production, a qualifier that binds an Executor to provide the executor to production components and subcomponents. by beder · 10 years ago
  53. 3bdf32d Allow multiple scope annotations on components. by beder · 10 years ago
  54. db24072 Change the representation of multibindings in a binding graph. by dpb · 10 years ago
  55. 42e4a48 Check for cycles in bindings as well as binding keys. by dpb · 10 years ago
  56. d44ee61 Add @ProductionSubcomponent. by beder · 10 years ago
  57. c82d8ab Refactor the InjectBindingRegistry to perform validation on the @Inject constructors and members injections, so that they get validated when added during construction of the BindingGraph. by beder · 10 years ago
  58. 4bd314c If a binding is owned by any ancestor component, resolve it in this component's immediate parent, so that multibindings contributed by component's immediate parent, so that multibindings contributed by components between this and the owning component can participate. by dpb · 10 years ago
  59. 0695192 Automated g4 rollback of changelist 110777653. by tap-prod · 10 years ago
  60. e613d70 If a binding is owned by any ancestor component, resolve it in this component's immediate parent, so that multibindings contributed by components between this and the owning component can participate. by dpb · 10 years ago
  61. 778d522 Refactoring CL in preparation for an upcoming change. by dpb · 10 years ago
  62. 51bf8b4 Support empty multibinding declarations for sets and maps using @Multibindings on an interface in a @Module. by dpb · 10 years ago
  63. a262042 Extract some mixin types in preparation for a pending change supporting multibinding declarations. by dpb · 10 years ago
  64. bf29ab3 Change how synthetic bindings are resolved. by dpb · 10 years ago
  65. db8fa1a Refactor BindingGraph.Factory.Resolver.lookupBindings's implementation for clarity. Fix its documentation. This CL makes no changes to the binding graph model or the internal Dagger type structure. by dpb · 10 years ago
  66. 0771bf0 Generate unique subcomponent implementation names. by ronshapiro · 10 years ago
  67. 1ab00a7 Add Binding.isOfType(Type), and make Binding.Type not a Predicate<Binding>. by dpb · 10 years ago
  68. 98bc236 Remove the unnecessary checks in ResolvedBindings that threw if you asked for contribution bindings for a members-injection binding key or vice versa. That used to be necessary because the methods just did unchecked casts; now that they are held in different fields, it's safe to say that the "wrong" collections are just empty, and it makes calling code simpler. by dpb · 10 years ago
  69. 52a002e Remove logic about MembersInjectionBinding parentInjectorRequest that is no longer relevant now that members injectors call static methods to inject inherited members. Specifically, it is no longer necessary to have parent injector requests, or to strip them away if their parent's injector uses a no-op strategy. It's still necessary to generate MembersInjector implementations for superclasses that have injection sites, but that logic moves from BindingGraph.Factory.Resolver to InjectBindingRegistry. by dpb · 10 years ago
  70. 99d6408 Make it possible to depend on subcomponent builders. by dpb · 10 years ago
  71. 5dcbd96 Small refactor to simplify Resolver.lookupBindings. by dpb · 10 years ago
  72. 7c3ff29 Resolve all unchecked-cast warnings in ResolvedBindings by making explicit the distinction between ContributionBinding and MembersInjectionBinding. Also use the multimap for the whole data structure rather than putting the owned bindings in a separate set. by dpb · 10 years ago
  73. 6583420 Implement injecting Set<Produced<T>> for a producer set binding. by beder · 10 years ago
  74. 6bd55de Resolve differences among ProvisionBinding, ProductionBinding, and MembersInjectionBinding enough to remove all instanceof checks and many downcasts, and combine lots of parallel code paths between ProvisionBinding and ProductionBinding users. by dpb · 10 years ago
  75. ba28f41 Refactor to make looking up implicit map bindings clearer. by dpb · 10 years ago
  76. a8a1d12 Create class to represent a scope by paulduffin · 10 years ago
  77. 9b81e10 Prune modules that do not provide bindings that require a module instance. The methods that would set those modules remain on the builder, but are @Deprecated no-op methods. by gak · 10 years ago
  78. 3a5e81e Validate that modules installed in both parent and child components never attempt to use different instances of that module. Reuse is allowed -- even in stateful modules -- but never with different instances. by gak · 10 years ago
  79. 924b5f4 Add the owning component to ResolvedBindings. This allows for component writers to more efficiently make decisions based on which component holds a given binding. by gak · 10 years ago
  80. 49b4cd5 Fixed overridden @Inject methods by dpb · 10 years ago
  81. 092bf2d Automated g4 rollback of changelist 101240482. by gak · 10 years ago
  82. 2c0fe84 Validate that modules installed in both parent and child components never attempt to use different instances of that module. Reuse is allowed -- even in stateful modules -- but never with different instances. by gak · 10 years ago
  83. 14527d5 Automated g4 rollback of changelist 100722956. by dpb · 10 years ago
  84. 238cc65 Fixed overridden @Inject methods by tonybe · 10 years ago
  85. 67c8797 Don't recurse infinitely on valid cycles when checking whether a binding depends on local multibindings. by dpb · 10 years ago
  86. 76e0747 Make sure that elements of multibindings that depend on subcomponent-local multibindings are not duplicated in the subcomponent. by dpb · 10 years ago
  87. f025531 Make subcomponent bindings that depend transitively on multibindings with contributions in the subcomponent get the right set. by dpb · 10 years ago
  88. 5721a93 Roll forward refactoring into ModuleDescriptor but without the reference to FluentIterable.append. by gak · 10 years ago
  89. 36fc8bf Dagger build optimization by matvore · 10 years ago
  90. 8b59848 Automated g4 rollback of changelist 98344654. by gak · 10 years ago
  91. 94f2825 Refactor module information into ModuleDescriptor. This provides a single, consistent way to access information about modules. by gak · 10 years ago
  92. 1756a90 Fixes Dagger blowing up during codegen if it has incompatible versions of Guava by jneufeld · 10 years ago
  93. 2cb2c2f Move ResolvedBindings into its own top-level type. by beder · 11 years ago
  94. c648344 Speed up subcomponent validation. Uses Sets.union to get the merged set of by sameb · 11 years ago
  95. bce6475 Fix some of the edge cases in which contribution fields were not being referenced properly. by gak · 11 years ago
  96. 16e9f5b Fix a small style issue. by gak · 11 years ago
  97. a6ca43e Address 2 issues with subcomponents: by gak · 11 years ago
  98. 6322fe7 Add tests for providing all of the framework types and rework the infrastructure that detects it to ensure consistent behavior. by gak · 11 years ago
  99. 78ac368 A major update to subcomponents: by gak · 11 years ago
  100. 57a68f6 Stop holding references to modules and component dependencies unnecessarily. by gak · 11 years ago