1 /* 2 * Copyright (C) 2015 The Dagger Authors. 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 17 package dagger.functional.sub; 18 19 import dagger.Lazy; 20 import dagger.functional.Generic; 21 import dagger.functional.Generic2; 22 import javax.inject.Inject; 23 import javax.inject.Provider; 24 25 public class Exposed { 26 27 @Inject public PackagePrivate pp2; 28 @Inject public Provider<PackagePrivate> ppp2; 29 @Inject public Lazy<PackagePrivate> lpp2; 30 @Inject public Provider<Lazy<PackagePrivate>> plpp2; 31 @Inject public Generic2<PackagePrivate> gpp2; 32 @Inject public Generic2<PackagePrivateContainer.PublicEnclosed> gppc2; 33 @Inject public Provider<Generic2<PackagePrivate>> pgpp2; 34 @Inject public Lazy<Generic2<PackagePrivate>> lgpp2; 35 @Inject public Provider<Lazy<Generic2<PackagePrivate>>> plgpp2; 36 37 public PackagePrivate pp; 38 public Provider<PackagePrivate> ppp; 39 public Lazy<PackagePrivate> lpp; 40 public Provider<Lazy<PackagePrivate>> plpp; 41 public Generic<PackagePrivate> gpp; 42 public Generic<PackagePrivateContainer.PublicEnclosed> gppc; 43 public Provider<Generic<PackagePrivate>> pgpp; 44 public Lazy<Generic<PackagePrivate>> lgpp; 45 public Provider<Lazy<Generic<PackagePrivate>>> plgpp; 46 47 /** Injects inaccessible dependencies to test casting of these dependency arguments. */ Exposed( PackagePrivate pp, Provider<PackagePrivate> ppp, Lazy<PackagePrivate> lpp, Provider<Lazy<PackagePrivate>> plpp, Generic<PackagePrivate> gpp, Generic<PackagePrivateContainer.PublicEnclosed> gppc, Provider<Generic<PackagePrivate>> pgpp, Lazy<Generic<PackagePrivate>> lgpp, Provider<Lazy<Generic<PackagePrivate>>> plgpp)48 @Inject Exposed( 49 PackagePrivate pp, 50 Provider<PackagePrivate> ppp, 51 Lazy<PackagePrivate> lpp, 52 Provider<Lazy<PackagePrivate>> plpp, 53 Generic<PackagePrivate> gpp, 54 Generic<PackagePrivateContainer.PublicEnclosed> gppc, 55 Provider<Generic<PackagePrivate>> pgpp, 56 Lazy<Generic<PackagePrivate>> lgpp, 57 Provider<Lazy<Generic<PackagePrivate>>> plgpp) { 58 this.pp = pp; 59 this.ppp = ppp; 60 this.lpp = lpp; 61 this.plpp = plpp; 62 this.gpp = gpp; 63 this.gppc = gppc; 64 this.pgpp = pgpp; 65 this.lgpp = lgpp; 66 this.plgpp = plgpp; 67 } 68 } 69