13
13
* See the License for the specific language governing permissions and
14
14
* limitations under the License.
15
15
*/
16
+ @file:Suppress(" INVISIBLE_MEMBER" , " INVISIBLE_REFERENCE" )
16
17
package org.springframework.data.mongodb.core.query
17
18
18
19
import org.springframework.data.mapping.toDotPath
19
20
import org.springframework.data.mongodb.core.query.Update.Position
21
+ import kotlin.internal.OnlyInputTypes
20
22
import kotlin.reflect.KProperty
21
23
22
24
/* *
@@ -26,7 +28,7 @@ import kotlin.reflect.KProperty
26
28
* @since 4.4
27
29
* @see Update.update
28
30
*/
29
- fun <T > update (key : KProperty <T >, value : T ? ) =
31
+ fun <@ OnlyInputTypes T > update (key : KProperty <T >, value : T ? ) =
30
32
Update .update(key.toDotPath(), value)
31
33
32
34
/* *
@@ -36,7 +38,7 @@ fun <T> update(key: KProperty<T>, value: T?) =
36
38
* @since 4.4
37
39
* @see Update.set
38
40
*/
39
- fun <T > Update.set (key : KProperty <T >, value : T ? ) =
41
+ fun <@ OnlyInputTypes T > Update.set (key : KProperty <T >, value : T ? ) =
40
42
set(key.toDotPath(), value)
41
43
42
44
/* *
@@ -46,7 +48,7 @@ fun <T> Update.set(key: KProperty<T>, value: T?) =
46
48
* @since 4.4
47
49
* @see Update.setOnInsert
48
50
*/
49
- fun <T > Update.setOnInsert (key : KProperty <T >, value : T ? ) =
51
+ fun <@ OnlyInputTypes T > Update.setOnInsert (key : KProperty <T >, value : T ? ) =
50
52
setOnInsert(key.toDotPath(), value)
51
53
52
54
/* *
@@ -56,7 +58,7 @@ fun <T> Update.setOnInsert(key: KProperty<T>, value: T?) =
56
58
* @since 4.4
57
59
* @see Update.unset
58
60
*/
59
- fun <T > Update.unset (key : KProperty <T >) =
61
+ fun <@ OnlyInputTypes T > Update.unset (key : KProperty <T >) =
60
62
unset(key.toDotPath())
61
63
62
64
/* *
@@ -66,10 +68,10 @@ fun <T> Update.unset(key: KProperty<T>) =
66
68
* @since 4.4
67
69
* @see Update.inc
68
70
*/
69
- fun <T > Update.inc (key : KProperty <T >, inc : Number ) =
71
+ fun <@ OnlyInputTypes T > Update.inc (key : KProperty <T >, inc : Number ) =
70
72
inc(key.toDotPath(), inc)
71
73
72
- fun <T > Update.inc (key : KProperty <T >) =
74
+ fun <@ OnlyInputTypes T > Update.inc (key : KProperty <T >) =
73
75
inc(key.toDotPath())
74
76
75
77
/* *
@@ -79,7 +81,7 @@ fun <T> Update.inc(key: KProperty<T>) =
79
81
* @since 4.4
80
82
* @see Update.push
81
83
*/
82
- fun <T > Update.push (key : KProperty <Collection <T >>, value : T ? ) =
84
+ fun <@ OnlyInputTypes T > Update.push (key : KProperty <Collection <T >>, value : T ? ) =
83
85
push(key.toDotPath(), value)
84
86
85
87
/* *
@@ -91,7 +93,7 @@ fun <T> Update.push(key: KProperty<Collection<T>>, value: T?) =
91
93
* @since 4.4
92
94
* @see Update.push
93
95
*/
94
- fun <T > Update.push (key : KProperty <T >) =
96
+ fun <@ OnlyInputTypes T > Update.push (key : KProperty <T >) =
95
97
push(key.toDotPath())
96
98
97
99
/* *
@@ -102,7 +104,7 @@ fun <T> Update.push(key: KProperty<T>) =
102
104
* @since 4.4
103
105
* @see Update.addToSet
104
106
*/
105
- fun <T > Update.addToSet (key : KProperty <T >) =
107
+ fun <@ OnlyInputTypes T > Update.addToSet (key : KProperty <T >) =
106
108
addToSet(key.toDotPath())
107
109
108
110
/* *
@@ -112,7 +114,7 @@ fun <T> Update.addToSet(key: KProperty<T>) =
112
114
* @since 4.4
113
115
* @see Update.addToSet
114
116
*/
115
- fun <T > Update.addToSet (key : KProperty <Collection <T >>, value : T ? ) =
117
+ fun <@ OnlyInputTypes T > Update.addToSet (key : KProperty <Collection <T >>, value : T ? ) =
116
118
addToSet(key.toDotPath(), value)
117
119
118
120
/* *
@@ -122,7 +124,7 @@ fun <T> Update.addToSet(key: KProperty<Collection<T>>, value: T?) =
122
124
* @since 4.4
123
125
* @see Update.pop
124
126
*/
125
- fun <T > Update.pop (key : KProperty <T >, pos : Position ) =
127
+ fun <@ OnlyInputTypes T > Update.pop (key : KProperty <T >, pos : Position ) =
126
128
pop(key.toDotPath(), pos)
127
129
128
130
/* *
@@ -132,7 +134,7 @@ fun <T> Update.pop(key: KProperty<T>, pos: Position) =
132
134
* @since 4.4
133
135
* @see Update.pull
134
136
*/
135
- fun <T > Update.pull (key : KProperty <T >, value : Any ) =
137
+ fun <@ OnlyInputTypes T > Update.pull (key : KProperty <T >, value : Any ) =
136
138
pull(key.toDotPath(), value)
137
139
138
140
/* *
@@ -142,7 +144,7 @@ fun <T> Update.pull(key: KProperty<T>, value: Any) =
142
144
* @since 4.4
143
145
* @see Update.pullAll
144
146
*/
145
- fun <T > Update.pullAll (key : KProperty <Collection <T >>, values : Array <T >) =
147
+ fun <@ OnlyInputTypes T > Update.pullAll (key : KProperty <Collection <T >>, values : Array <T >) =
146
148
pullAll(key.toDotPath(), values)
147
149
148
150
/* *
@@ -152,7 +154,7 @@ fun <T> Update.pullAll(key: KProperty<Collection<T>>, values: Array<T>) =
152
154
* @since 4.4
153
155
* @see Update.currentDate
154
156
*/
155
- fun <T > Update.currentDate (key : KProperty <T >) =
157
+ fun <@ OnlyInputTypes T > Update.currentDate (key : KProperty <T >) =
156
158
currentDate(key.toDotPath())
157
159
158
160
/* *
@@ -162,7 +164,7 @@ fun <T> Update.currentDate(key: KProperty<T>) =
162
164
* @since 4.4
163
165
* @see Update.currentTimestamp
164
166
*/
165
- fun <T > Update.currentTimestamp (key : KProperty <T >) =
167
+ fun <@ OnlyInputTypes T > Update.currentTimestamp (key : KProperty <T >) =
166
168
currentTimestamp(key.toDotPath())
167
169
168
170
/* *
@@ -172,7 +174,7 @@ fun <T> Update.currentTimestamp(key: KProperty<T>) =
172
174
* @since 4.4
173
175
* @see Update.multiply
174
176
*/
175
- fun <T > Update.multiply (key : KProperty <T >, multiplier : Number ) =
177
+ fun <@ OnlyInputTypes T > Update.multiply (key : KProperty <T >, multiplier : Number ) =
176
178
multiply(key.toDotPath(), multiplier)
177
179
178
180
/* *
@@ -202,7 +204,7 @@ fun <T : Any> Update.min(key: KProperty<T>, value: T) =
202
204
* @since 4.4
203
205
* @see Update.bitwise
204
206
*/
205
- fun <T > Update.bitwise (key : KProperty <T >) =
207
+ fun <@ OnlyInputTypes T > Update.bitwise (key : KProperty <T >) =
206
208
bitwise(key.toDotPath())
207
209
208
210
/* *
@@ -213,7 +215,7 @@ fun <T> Update.bitwise(key: KProperty<T>) =
213
215
* @since 4.4
214
216
* @see Update.filterArray
215
217
*/
216
- fun <T > Update.filterArray (identifier : KProperty <T >, expression : Any ) =
218
+ fun <@ OnlyInputTypes T > Update.filterArray (identifier : KProperty <T >, expression : Any ) =
217
219
filterArray(identifier.toDotPath(), expression)
218
220
219
221
/* *
@@ -223,6 +225,6 @@ fun <T> Update.filterArray(identifier: KProperty<T>, expression: Any) =
223
225
* @since 4.4
224
226
* @see Update.modifies
225
227
*/
226
- fun <T > Update.modifies (key : KProperty <T >) =
228
+ fun <@ OnlyInputTypes T > Update.modifies (key : KProperty <T >) =
227
229
modifies(key.toDotPath())
228
230
0 commit comments