xref: /aosp_15_r20/external/dagger2/javatests/dagger/functional/kotlinsrc/basic/InjectedThing.kt (revision f585d8a307d0621d6060bd7e80091fdcbf94fe27)
1 /*
2  * Copyright (C) 2022 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.kotlinsrc.basic
18 
19 import dagger.Lazy
20 import dagger.MembersInjector
21 import javax.inject.Inject
22 import javax.inject.Provider
23 
24 @Suppress("UNUSED_PARAMETER", "BadInject")
25 class InjectedThing
26 @Inject
27 internal constructor(
28   primitiveByte: Byte,
29   primitiveChar: Char,
30   primitiveShort: Short,
31   primitiveInt: Int,
32   primitiveLong: Long,
33   primitiveBoolean: Boolean,
34   primitiveFloat: Float,
35   primitiveDouble: Double,
36   byteProvider: Provider<Byte>,
37   charProvider: Provider<Char>,
38   shortProvider: Provider<Short>,
39   intProvider: Provider<Int>,
40   longProvider: Provider<Long>,
41   booleanProvider: Provider<Boolean>,
42   floatProvider: Provider<Float>,
43   doubleProvider: Provider<Double>,
44   lazyByte: Lazy<Byte>,
45   lazyChar: Lazy<Char>,
46   lazyShort: Lazy<Short>,
47   lazyInt: Lazy<Int>,
48   lazyLong: Lazy<Long>,
49   lazyBoolean: Lazy<Boolean>,
50   lazyFloat: Lazy<Float>,
51   lazyDouble: Lazy<Double>,
52   boxedBype: Byte,
53   boxedChar: Char,
54   boxedShort: Short,
55   boxedInt: Int,
56   boxedLong: Long,
57   boxedBoolean: Boolean,
58   boxedFloat: Float,
59   boxedDouble: Double,
60   byteArray: ByteArray,
61   charArray: CharArray,
62   shortArray: ShortArray,
63   intArray: IntArray,
64   longArray: LongArray,
65   booleanArray: BooleanArray,
66   floatArray: FloatArray,
67   doubleArray: DoubleArray,
68   byteArrayProvider: Provider<ByteArray>,
69   charArrayProvider: Provider<CharArray>,
70   shortArrayProvider: Provider<ShortArray>,
71   intArrayProvider: Provider<IntArray>,
72   longArrayProvider: Provider<LongArray>,
73   booleanArrayProvider: Provider<BooleanArray>,
74   floatArrayProvider: Provider<FloatArray>,
75   doubleArrayProvider: Provider<DoubleArray>,
76   lazyByteArray: Lazy<ByteArray>,
77   lazyCharArray: Lazy<CharArray>,
78   lazyShortArray: Lazy<ShortArray>,
79   lazyIntArray: Lazy<IntArray>,
80   lazyLongArray: Lazy<LongArray>,
81   lazyBooleanArray: Lazy<BooleanArray>,
82   lazy: Lazy<FloatArray>,
83   lazyDoubleArray: Lazy<DoubleArray>,
84   thing: Thing,
85   thingProvider: Provider<Thing>,
86   lazyThing: Lazy<Thing>,
87   lazyThingProvider: Provider<Lazy<Thing>>,
88   thingMembersInjector: MembersInjector<Thing>
89 ) {
90 
91   // TODO(b/261299441): @JvmField is needed here because otherwise the annotation will be placed on
92   // the private backing field and Dagger will fail. The @JvmField will force the backing field
93   // visibility to match the property visibility (internal in this case).
94   @JvmField @Inject internal var primitiveByte: Byte = 0.toByte()
95   @JvmField @Inject internal var primitiveChar: Char = 0.toChar()
96   @JvmField @Inject internal var primitiveShort: Short = 0.toShort()
97   @JvmField @Inject internal var primitiveInt: Int = 0.toInt()
98   @JvmField @Inject internal var primitiveLong: Long = 0.toLong()
99   @JvmField @Inject internal var primitiveBoolean: Boolean = false
100   @JvmField @Inject internal var primitiveFloat: Float = 0.toFloat()
101   @JvmField @Inject internal var primitiveDouble: Double = 0.toDouble()
102 
103   @Inject internal lateinit var byteProvider: Provider<Byte>
104   @Inject internal lateinit var charProvider: Provider<Char>
105   @Inject internal lateinit var shortProvider: Provider<Short>
106   @Inject internal lateinit var intProvider: Provider<Int>
107   @Inject internal lateinit var longProvider: Provider<Long>
108   @Inject internal lateinit var booleanProvider: Provider<Boolean>
109   @Inject internal lateinit var floatProvider: Provider<Float>
110   @Inject internal lateinit var doubleProvider: Provider<Double>
111   @Inject internal lateinit var lazyByte: Lazy<Byte>
112   @Inject internal lateinit var lazyChar: Lazy<Char>
113   @Inject internal lateinit var lazyShort: Lazy<Short>
114   @Inject internal lateinit var lazyInt: Lazy<Int>
115   @Inject internal lateinit var lazyLong: Lazy<Long>
116   @Inject internal lateinit var lazyBoolean: Lazy<Boolean>
117   @Inject internal lateinit var lazyFloat: Lazy<Float>
118   @Inject internal lateinit var lazyDouble: Lazy<Double>
119   @Inject internal lateinit var byteArray: ByteArray
120   @Inject internal lateinit var charArray: CharArray
121   @Inject internal lateinit var shortArray: ShortArray
122   @Inject internal lateinit var intArray: IntArray
123   @Inject internal lateinit var longArray: LongArray
124   @Inject internal lateinit var booleanArray: BooleanArray
125   @Inject internal lateinit var floatArray: FloatArray
126   @Inject internal lateinit var doubleArray: DoubleArray
127   @Inject internal lateinit var byteArrayProvider: Provider<ByteArray>
128   @Inject internal lateinit var charArrayProvider: Provider<CharArray>
129   @Inject internal lateinit var shortArrayProvider: Provider<ShortArray>
130   @Inject internal lateinit var intArrayProvider: Provider<IntArray>
131   @Inject internal lateinit var longArrayProvider: Provider<LongArray>
132   @Inject internal lateinit var booleanArrayProvider: Provider<BooleanArray>
133   @Inject internal lateinit var floatArrayProvider: Provider<FloatArray>
134   @Inject internal lateinit var doubleArrayProvider: Provider<DoubleArray>
135   @Inject internal lateinit var lazyByteArray: Lazy<ByteArray>
136   @Inject internal lateinit var lazyCharArray: Lazy<CharArray>
137   @Inject internal lateinit var lazyShortArray: Lazy<ShortArray>
138   @Inject internal lateinit var lazyIntArray: Lazy<IntArray>
139   @Inject internal lateinit var lazyLongArray: Lazy<LongArray>
140   @Inject internal lateinit var lazyBooleanArray: Lazy<BooleanArray>
141   @Inject internal lateinit var lazy: Lazy<FloatArray>
142   @Inject internal lateinit var lazyDoubleArray: Lazy<DoubleArray>
143   @Inject internal lateinit var thing: Thing
144   @Inject internal lateinit var thingProvider: Provider<Thing>
145   @Inject internal lateinit var lazyThing: Lazy<Thing>
146   @Inject internal lateinit var lazyThingProvider: Provider<Lazy<Thing>>
147   @Inject internal lateinit var thingMembersInjector: MembersInjector<Thing>
148 
primitiveBytenull149   @Inject internal fun primitiveByte(primitiveByte: Byte) {}
primitiveCharnull150   @Inject internal fun primitiveChar(primitiveChar: Char) {}
primitiveShortnull151   @Inject internal fun primitiveShort(primitiveShort: Short) {}
primitiveIntnull152   @Inject internal fun primitiveInt(primitiveInt: Int) {}
primitiveLongnull153   @Inject internal fun primitiveLong(primitiveLong: Long) {}
primitiveBooleannull154   @Inject internal fun primitiveBoolean(primitiveBoolean: Boolean) {}
primitiveFloatnull155   @Inject internal fun primitiveFloat(primitiveFloat: Float) {}
primitiveDoublenull156   @Inject internal fun primitiveDouble(primitiveDouble: Double) {}
byteProvidernull157   @Inject internal fun byteProvider(byteProvider: Provider<Byte>) {}
charProvidernull158   @Inject internal fun charProvider(charProvider: Provider<Char>) {}
shortProvidernull159   @Inject internal fun shortProvider(shortProvider: Provider<Short>) {}
intProvidernull160   @Inject internal fun intProvider(intProvider: Provider<Int>) {}
longProvidernull161   @Inject internal fun longProvider(longProvider: Provider<Long>) {}
booleanProvidernull162   @Inject internal fun booleanProvider(booleanProvider: Provider<Boolean>) {}
floatProvidernull163   @Inject internal fun floatProvider(floatProvider: Provider<Float>) {}
doubleProvidernull164   @Inject internal fun doubleProvider(doubleProvider: Provider<Double>) {}
lazyBytenull165   @Inject internal fun lazyByte(lazyByte: Lazy<Byte>) {}
lazyCharnull166   @Inject internal fun lazyChar(lazyChar: Lazy<Char>) {}
lazyShortnull167   @Inject internal fun lazyShort(lazyShort: Lazy<Short>) {}
lazyIntnull168   @Inject internal fun lazyInt(lazyInt: Lazy<Int>) {}
lazyLongnull169   @Inject internal fun lazyLong(lazyLong: Lazy<Long>) {}
lazyBooleannull170   @Inject internal fun lazyBoolean(lazyBoolean: Lazy<Boolean>) {}
lazyFloatnull171   @Inject internal fun lazyFloat(lazyFloat: Lazy<Float>) {}
lazyDoublenull172   @Inject internal fun lazyDouble(lazyDouble: Lazy<Double>) {}
byteArraynull173   @Inject internal fun byteArray(byteArray: ByteArray) {}
charArraynull174   @Inject internal fun charArray(charArray: CharArray) {}
shortArraynull175   @Inject internal fun shortArray(shortArray: ShortArray) {}
intArraynull176   @Inject internal fun intArray(intArray: IntArray) {}
longArraynull177   @Inject internal fun longArray(longArray: LongArray) {}
booleanArraynull178   @Inject internal fun booleanArray(booleanArray: BooleanArray) {}
floatArraynull179   @Inject internal fun floatArray(floatArray: FloatArray) {}
doubleArraynull180   @Inject internal fun doubleArray(doubleArray: DoubleArray) {}
byteArrayProvidernull181   @Inject internal fun byteArrayProvider(byteArrayProvider: Provider<ByteArray>) {}
charArrayProvidernull182   @Inject internal fun charArrayProvider(charArrayProvider: Provider<CharArray>) {}
shortArrayProvidernull183   @Inject internal fun shortArrayProvider(shortArrayProvider: Provider<ShortArray>) {}
intArrayProvidernull184   @Inject internal fun intArrayProvider(intArrayProvider: Provider<IntArray>) {}
longArrayProvidernull185   @Inject internal fun longArrayProvider(longArrayProvider: Provider<LongArray>) {}
booleanArrayProvidernull186   @Inject internal fun booleanArrayProvider(booleanArrayProvider: Provider<BooleanArray>) {}
floatArrayProvidernull187   @Inject internal fun floatArrayProvider(floatArrayProvider: Provider<FloatArray>) {}
doubleArrayProvidernull188   @Inject internal fun doubleArrayProvider(doubleArrayProvider: Provider<DoubleArray>) {}
lazyByteArraynull189   @Inject internal fun lazyByteArray(lazyByteArray: Lazy<ByteArray>) {}
lazyCharArraynull190   @Inject internal fun lazyCharArray(lazyCharArray: Lazy<CharArray>) {}
lazyShortArraynull191   @Inject internal fun lazyShortArray(lazyShortArray: Lazy<ShortArray>) {}
lazyIntArraynull192   @Inject internal fun lazyIntArray(lazyIntArray: Lazy<IntArray>) {}
lazyLongArraynull193   @Inject internal fun lazyLongArray(lazyLongArray: Lazy<LongArray>) {}
lazyBooleanArraynull194   @Inject internal fun lazyBooleanArray(lazyBooleanArray: Lazy<BooleanArray>) {}
lazynull195   @Inject internal fun lazy(lazy: Lazy<FloatArray>) {}
lazyThingProvidernull196   @Inject internal fun lazyThingProvider(lazyThingProvider: Provider<Lazy<Thing>>) {}
lazyDoubleArraynull197   @Inject internal fun lazyDoubleArray(lazyDoubleArray: Lazy<DoubleArray>) {}
thingnull198   @Inject internal fun thing(thing: Thing) {}
thingProvidernull199   @Inject internal fun thingProvider(thingProvider: Provider<Thing>) {}
lazyThingnull200   @Inject internal fun lazyThing(lazyThing: Lazy<Thing>) {}
thingMembersInjectornull201   @Inject internal fun thingMembersInjector(thingMembersInjector: MembersInjector<Thing>) {}
202 }
203