Home | History | Annotate | Download | only in test
      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