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