1 /* 2 * Copyright (C) 2015 Google, Inc. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package test; 17 18 import dagger.Lazy; 19 import javax.inject.Inject; 20 import javax.inject.Provider; 21 22 class ComplexGenerics { 23 24 final Generic2<Generic<A>> g2ga; 25 final Lazy<Generic2<Generic<A>>> g2gaLazy; 26 final Provider<Generic2<Generic<A>>> g2gaProvider; 27 final Generic2<Generic<B>> g2gb; 28 final Lazy<Generic2<Generic<B>>> g2gbLazy; 29 final Provider<Generic2<Generic<B>>> g2gbProvider; 30 final Generic2<A> g2a; 31 final Generic<Generic2<A>> gg2a; 32 final Generic<Generic2<B>> gg2b; 33 34 @Inject ComplexGenerics( 35 Generic2<Generic<A>> g2ga, 36 Lazy<Generic2<Generic<A>>> g2gaLazy, 37 Provider<Generic2<Generic<A>>> g2gaProvider, 38 Generic2<Generic<B>> g2gb, 39 Lazy<Generic2<Generic<B>>> g2gbLazy, 40 Provider<Generic2<Generic<B>>> g2gbProvider, 41 Generic2<A> g2a, 42 Generic<Generic2<A>> gg2a, 43 Generic<Generic2<B>> gg2b) { 44 this.g2ga = g2ga; 45 this.g2gaLazy = g2gaLazy; 46 this.g2gaProvider = g2gaProvider; 47 this.g2gb = g2gb; 48 this.g2gbLazy = g2gbLazy; 49 this.g2gbProvider = g2gbProvider; 50 this.g2a = g2a; 51 this.gg2a = gg2a; 52 this.gg2b = gg2b; 53 } 54 } 55