- ac6dd2b Don't call computeIfAbsent recursively, which breaks under java9 by ronshapiro · 8 years ago
- 3a891dd Inline requests for optional bindings by ronshapiro · 8 years ago
- 9563a02 Use Map.computeIfAbsent instead of c.g.c.cache.Cache. Drop the dependency on [][] by dpb · 8 years ago
- 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]
- ffd98f6 Use java.util.Optional. by dpb · 9 years ago
- b50b8ae Add @BindsInstance, which can be used to add instance binding methods to component builders. by beder · 9 years ago
- b37b9ed Use the dependencies() method that's already in ComponentDescriptor. by dpb · 9 years ago
- 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
- 76fe9b9 Memoize BindingGraph.componentRequirements, which was already identified as a hotspot in 0fe3d92cdbccd449b070aacf3f90907d8e4d18ef by ronshapiro · 9 years ago
- 141148b Extract binding graph traversal logic from BindingGraphValidator. by dpb · 9 years ago
- 86fe3c7 Add componentType() to BindingGraph to avoid Law-of-Demeter chaining. by dpb · 9 years ago
- 75b9b72 Rework dependencies. by gak · 9 years ago
- 0835031 Correctly copy bindings that depend transitively on optional bindings with local present values. by dpb · 9 years ago
- 6624110 Java 8. Shit just got real. (redux) by gak · 9 years ago
- e0998bd Implement optional bindings for Dagger-Producers by dpb · 9 years ago
- 21e9542 Present a dependency cycle when @Binds methods refer to each other by ronshapiro · 9 years ago
- 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
- d8d950a Implement optional bindings by dpb · 9 years ago
- dc1a84c Move requiresModuleInstance() to ContributionBinding. It was only ever by ronshapiro · 9 years ago
- 60ebd65 Add an import to fix a broken javadoc tag. by gak · 9 years ago
- 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
- 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
- 147ef93 Remove some unneeded type arguments. by gak · 9 years ago
- a0bd775 Create bindings for @Binds methods even when the RHS cannot be resolved by ronshapiro · 9 years ago
- d697327 Detect local multibinding contributions from @Binds methods too. by ronshapiro · 9 years ago
- 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
- e55f074 Update Dagger to use Google's new standard import order: by gak · 9 years ago
- 1b65b6a Add blank line above package declaration by dpb · 9 years ago
- a69ead5 Use a synthetic binding for Set<ReleasableReferenceManager> rather than individual synthetic multibinding contributions. by dpb · 9 years ago
- 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
- 633c97b Automated g4 rollback of changelist 126801598. by gak · 9 years ago
- 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
- c101866 Replace BindingKey.create(Kind, Key) with specific factory methods. Makes calling code more concise and readable. by dpb · 9 years ago
- 5dde42d Clean up opensource repo; remove Dagger 1 references by ronshapiro · 9 years ago
- 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
- 7edcd4d Refactoring in preparation for releasable references feature. by dpb · 9 years ago
- 40260f1 Restore some previously scrubbed comments. by Christian Gruber · 9 years ago
- 828b1a2 Small refactoring of the internals of BindingGraph.Factory.Resolver. by dpb · 9 years ago
- 23c17b8 Implement @Binds @IntoMap by ronshapiro · 9 years ago
- a360371 Fix map bindings with contributions from both @Produces and @Provides methods. by beder · 9 years ago
- 846fd94 Implement @Binds @IntoSet and @ElementsIntoSet by ronshapiro · 9 years ago
- 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
- 4955ef9 Change interface HasSourceElement to base class BindingDeclaration (implementing HasKey), and delete SourceElement itself. by dpb · 10 years ago
- b365b4a Disallow component builder setters for abstract modules. by dpb · 10 years ago
- f764700 Refactor BindingGraph.componentRequirements() for readability. by dpb · 10 years ago
- e1b68a2 Add @Bind for delegating bindings from one key to another. by gak · 10 years ago
- 5db92fe Remove the ability to set the production executor on a component builder. by beder · 10 years ago
- 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
- 4cd56e8 Implement @Reusable. by dpb · 10 years ago
- 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
- 938b752 Report conflicts between bindings in subcomponents and those in ancestor components. by dpb · 10 years ago
- 893f770 Add @Production, a qualifier that binds an Executor to provide the executor to production components and subcomponents. by beder · 10 years ago
- 3bdf32d Allow multiple scope annotations on components. by beder · 10 years ago
- db24072 Change the representation of multibindings in a binding graph. by dpb · 10 years ago
- 42e4a48 Check for cycles in bindings as well as binding keys. by dpb · 10 years ago
- d44ee61 Add @ProductionSubcomponent. by beder · 10 years ago
- 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
- 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
- 0695192 Automated g4 rollback of changelist 110777653. by tap-prod · 10 years ago
- 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
- 778d522 Refactoring CL in preparation for an upcoming change. by dpb · 10 years ago
- 51bf8b4 Support empty multibinding declarations for sets and maps using @Multibindings on an interface in a @Module. by dpb · 10 years ago
- a262042 Extract some mixin types in preparation for a pending change supporting multibinding declarations. by dpb · 10 years ago
- bf29ab3 Change how synthetic bindings are resolved. by dpb · 10 years ago
- 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
- 0771bf0 Generate unique subcomponent implementation names. by ronshapiro · 10 years ago
- 1ab00a7 Add Binding.isOfType(Type), and make Binding.Type not a Predicate<Binding>. by dpb · 10 years ago
- 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
- 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
- 99d6408 Make it possible to depend on subcomponent builders. by dpb · 10 years ago
- 5dcbd96 Small refactor to simplify Resolver.lookupBindings. by dpb · 10 years ago
- 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
- 6583420 Implement injecting Set<Produced<T>> for a producer set binding. by beder · 10 years ago
- 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
- ba28f41 Refactor to make looking up implicit map bindings clearer. by dpb · 10 years ago
- a8a1d12 Create class to represent a scope by paulduffin · 10 years ago
- 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
- 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
- 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
- 49b4cd5 Fixed overridden @Inject methods by dpb · 10 years ago
- 092bf2d Automated g4 rollback of changelist 101240482. by gak · 10 years ago
- 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
- 14527d5 Automated g4 rollback of changelist 100722956. by dpb · 10 years ago
- 238cc65 Fixed overridden @Inject methods by tonybe · 10 years ago
- 67c8797 Don't recurse infinitely on valid cycles when checking whether a binding depends on local multibindings. by dpb · 10 years ago
- 76e0747 Make sure that elements of multibindings that depend on subcomponent-local multibindings are not duplicated in the subcomponent. by dpb · 10 years ago
- f025531 Make subcomponent bindings that depend transitively on multibindings with contributions in the subcomponent get the right set. by dpb · 10 years ago
- 5721a93 Roll forward refactoring into ModuleDescriptor but without the reference to FluentIterable.append. by gak · 10 years ago
- 36fc8bf Dagger build optimization by matvore · 10 years ago
- 8b59848 Automated g4 rollback of changelist 98344654. by gak · 10 years ago
- 94f2825 Refactor module information into ModuleDescriptor. This provides a single, consistent way to access information about modules. by gak · 10 years ago
- 1756a90 Fixes Dagger blowing up during codegen if it has incompatible versions of Guava by jneufeld · 10 years ago
- 2cb2c2f Move ResolvedBindings into its own top-level type. by beder · 11 years ago
- c648344 Speed up subcomponent validation. Uses Sets.union to get the merged set of by sameb · 11 years ago
- bce6475 Fix some of the edge cases in which contribution fields were not being referenced properly. by gak · 11 years ago
- 16e9f5b Fix a small style issue. by gak · 11 years ago
- a6ca43e Address 2 issues with subcomponents: by gak · 11 years ago
- 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
- 78ac368 A major update to subcomponents: by gak · 11 years ago
- 57a68f6 Stop holding references to modules and component dependencies unnecessarily. by gak · 11 years ago