@@ -117,11 +117,15 @@ public abstract class Lists implements Utils {
117117 @ Nonnull
118118 @ Immutable
119119 public static <E > List <E > ofList () {
120- if (of0MethodHandle == null ) {
120+ return ofList0 (of0MethodHandle );
121+ }
122+
123+ static <E > List <E > ofList0 (MethodHandle methodHandle ) {
124+ if (methodHandle == null ) {
121125 return emptyList ();
122126 }
123127 try {
124- return (List <E >) of0MethodHandle .invokeExact ();
128+ return (List <E >) methodHandle .invokeExact ();
125129 } catch (Throwable e ) {
126130 return emptyList ();
127131 }
@@ -146,11 +150,15 @@ public static <E> List<E> ofList() {
146150 @ Nonnull
147151 @ Immutable
148152 public static <E > List <E > ofList (E e1 ) {
149- if (of1MethodHandle == null ) {
153+ return ofList1 (of1MethodHandle , e1 );
154+ }
155+
156+ static <E > List <E > ofList1 (MethodHandle methodHandle , E e1 ) {
157+ if (methodHandle == null ) {
150158 return singletonList (e1 );
151159 }
152160 try {
153- return (List <E >) of1MethodHandle .invokeExact (e1 );
161+ return (List <E >) methodHandle .invokeExact (e1 );
154162 } catch (Throwable e ) {
155163 return singletonList (e1 );
156164 }
@@ -176,11 +184,15 @@ public static <E> List<E> ofList(E e1) {
176184 @ Nonnull
177185 @ Immutable
178186 public static <E > List <E > ofList (E e1 , E e2 ) {
179- if (of2MethodHandle == null ) {
187+ return ofList2 (of2MethodHandle , e1 , e2 );
188+ }
189+
190+ static <E > List <E > ofList2 (MethodHandle methodHandle , E e1 , E e2 ) {
191+ if (methodHandle == null ) {
180192 return of (e1 , e2 );
181193 }
182194 try {
183- return (List <E >) of2MethodHandle .invokeExact (e1 , e2 );
195+ return (List <E >) methodHandle .invokeExact (e1 , e2 );
184196 } catch (Throwable e ) {
185197 return of (e1 , e2 );
186198 }
@@ -207,11 +219,15 @@ public static <E> List<E> ofList(E e1, E e2) {
207219 @ Nonnull
208220 @ Immutable
209221 public static <E > List <E > ofList (E e1 , E e2 , E e3 ) {
210- if (of3MethodHandle == null ) {
222+ return ofList3 (of3MethodHandle , e1 , e2 , e3 );
223+ }
224+
225+ static <E > List <E > ofList3 (MethodHandle methodHandle , E e1 , E e2 , E e3 ) {
226+ if (methodHandle == null ) {
211227 return of (e1 , e2 , e3 );
212228 }
213229 try {
214- return (List <E >) of3MethodHandle .invokeExact (e1 , e2 , e3 );
230+ return (List <E >) methodHandle .invokeExact (e1 , e2 , e3 );
215231 } catch (Throwable e ) {
216232 return of (e1 , e2 , e3 );
217233 }
@@ -239,11 +255,15 @@ public static <E> List<E> ofList(E e1, E e2, E e3) {
239255 @ Nonnull
240256 @ Immutable
241257 public static <E > List <E > ofList (E e1 , E e2 , E e3 , E e4 ) {
242- if (of4MethodHandle == null ) {
258+ return ofList4 (of4MethodHandle , e1 , e2 , e3 , e4 );
259+ }
260+
261+ static <E > List <E > ofList4 (MethodHandle methodHandle , E e1 , E e2 , E e3 , E e4 ) {
262+ if (methodHandle == null ) {
243263 return of (e1 , e2 , e3 , e4 );
244264 }
245265 try {
246- return (List <E >) of4MethodHandle .invokeExact (e1 , e2 , e3 , e4 );
266+ return (List <E >) methodHandle .invokeExact (e1 , e2 , e3 , e4 );
247267 } catch (Throwable e ) {
248268 return of (e1 , e2 , e3 , e4 );
249269 }
@@ -272,11 +292,15 @@ public static <E> List<E> ofList(E e1, E e2, E e3, E e4) {
272292 @ Nonnull
273293 @ Immutable
274294 public static <E > List <E > ofList (E e1 , E e2 , E e3 , E e4 , E e5 ) {
275- if (of5MethodHandle == null ) {
295+ return ofList5 (of5MethodHandle , e1 , e2 , e3 , e4 , e5 );
296+ }
297+
298+ static <E > List <E > ofList5 (MethodHandle methodHandle , E e1 , E e2 , E e3 , E e4 , E e5 ) {
299+ if (methodHandle == null ) {
276300 return of (e1 , e2 , e3 , e4 , e5 );
277301 }
278302 try {
279- return (List <E >) of5MethodHandle .invokeExact (e1 , e2 , e3 , e4 , e5 );
303+ return (List <E >) methodHandle .invokeExact (e1 , e2 , e3 , e4 , e5 );
280304 } catch (Throwable e ) {
281305 return of (e1 , e2 , e3 , e4 , e5 );
282306 }
@@ -298,11 +322,15 @@ public static <E> List<E> ofList(E e1, E e2, E e3, E e4, E e5) {
298322 @ Nonnull
299323 @ Immutable
300324 static <E > List <E > ofList (E e1 , E e2 , E e3 , E e4 , E e5 , E e6 ) {
301- if (of6MethodHandle == null ) {
325+ return ofList6 (of6MethodHandle , e1 , e2 , e3 , e4 , e5 , e6 );
326+ }
327+
328+ static <E > List <E > ofList6 (MethodHandle methodHandle , E e1 , E e2 , E e3 , E e4 , E e5 , E e6 ) {
329+ if (methodHandle == null ) {
302330 return of (e1 , e2 , e3 , e4 , e5 , e6 );
303331 }
304332 try {
305- return (List <E >) of6MethodHandle .invokeExact (e1 , e2 , e3 , e4 , e5 , e6 );
333+ return (List <E >) methodHandle .invokeExact (e1 , e2 , e3 , e4 , e5 , e6 );
306334 } catch (Throwable e ) {
307335 return of (e1 , e2 , e3 , e4 , e5 , e6 );
308336 }
@@ -333,11 +361,15 @@ static <E> List<E> ofList(E e1, E e2, E e3, E e4, E e5, E e6) {
333361 @ Nonnull
334362 @ Immutable
335363 public static <E > List <E > ofList (E e1 , E e2 , E e3 , E e4 , E e5 , E e6 , E e7 ) {
336- if (of7MethodHandle == null ) {
364+ return ofList7 (of7MethodHandle , e1 , e2 , e3 , e4 , e5 , e6 , e7 );
365+ }
366+
367+ static <E > List <E > ofList7 (MethodHandle methodHandle , E e1 , E e2 , E e3 , E e4 , E e5 , E e6 , E e7 ) {
368+ if (methodHandle == null ) {
337369 return of (e1 , e2 , e3 , e4 , e5 , e6 , e7 );
338370 }
339371 try {
340- return (List <E >) of7MethodHandle .invokeExact (e1 , e2 , e3 , e4 , e5 , e6 , e7 );
372+ return (List <E >) methodHandle .invokeExact (e1 , e2 , e3 , e4 , e5 , e6 , e7 );
341373 } catch (Throwable e ) {
342374 return of (e1 , e2 , e3 , e4 , e5 , e6 , e7 );
343375 }
@@ -369,11 +401,15 @@ public static <E> List<E> ofList(E e1, E e2, E e3, E e4, E e5, E e6, E e7) {
369401 @ Nonnull
370402 @ Immutable
371403 public static <E > List <E > ofList (E e1 , E e2 , E e3 , E e4 , E e5 , E e6 , E e7 , E e8 ) {
372- if (of8MethodHandle == null ) {
404+ return ofList8 (of8MethodHandle , e1 , e2 , e3 , e4 , e5 , e6 , e7 , e8 );
405+ }
406+
407+ static <E > List <E > ofList8 (MethodHandle methodHandle , E e1 , E e2 , E e3 , E e4 , E e5 , E e6 , E e7 , E e8 ) {
408+ if (methodHandle == null ) {
373409 return of (e1 , e2 , e3 , e4 , e5 , e6 , e7 , e8 );
374410 }
375411 try {
376- return (List <E >) of8MethodHandle .invokeExact (e1 , e2 , e3 , e4 , e5 , e6 , e7 , e8 );
412+ return (List <E >) methodHandle .invokeExact (e1 , e2 , e3 , e4 , e5 , e6 , e7 , e8 );
377413 } catch (Throwable e ) {
378414 return of (e1 , e2 , e3 , e4 , e5 , e6 , e7 , e8 );
379415 }
@@ -406,11 +442,15 @@ public static <E> List<E> ofList(E e1, E e2, E e3, E e4, E e5, E e6, E e7, E e8)
406442 @ Nonnull
407443 @ Immutable
408444 public static <E > List <E > ofList (E e1 , E e2 , E e3 , E e4 , E e5 , E e6 , E e7 , E e8 , E e9 ) {
409- if (of9MethodHandle == null ) {
445+ return ofList9 (of9MethodHandle , e1 , e2 , e3 , e4 , e5 , e6 , e7 , e8 , e9 );
446+ }
447+
448+ static <E > List <E > ofList9 (MethodHandle methodHandle , E e1 , E e2 , E e3 , E e4 , E e5 , E e6 , E e7 , E e8 , E e9 ) {
449+ if (methodHandle == null ) {
410450 return of (e1 , e2 , e3 , e4 , e5 , e6 , e7 , e8 , e9 );
411451 }
412452 try {
413- return (List <E >) of9MethodHandle .invokeExact (e1 , e2 , e3 , e4 , e5 , e6 , e7 , e8 , e9 );
453+ return (List <E >) methodHandle .invokeExact (e1 , e2 , e3 , e4 , e5 , e6 , e7 , e8 , e9 );
414454 } catch (Throwable e ) {
415455 return of (e1 , e2 , e3 , e4 , e5 , e6 , e7 , e8 , e9 );
416456 }
@@ -436,11 +476,15 @@ public static <E> List<E> ofList(E e1, E e2, E e3, E e4, E e5, E e6, E e7, E e8,
436476 @ Nonnull
437477 @ Immutable
438478 static <E > List <E > ofList (E e1 , E e2 , E e3 , E e4 , E e5 , E e6 , E e7 , E e8 , E e9 , E e10 ) {
439- if (of10MethodHandle == null ) {
479+ return ofList10 (of10MethodHandle , e1 , e2 , e3 , e4 , e5 , e6 , e7 , e8 , e9 , e10 );
480+ }
481+
482+ static <E > List <E > ofList10 (MethodHandle methodHandle , E e1 , E e2 , E e3 , E e4 , E e5 , E e6 , E e7 , E e8 , E e9 , E e10 ) {
483+ if (methodHandle == null ) {
440484 return of (e1 , e2 , e3 , e4 , e5 , e6 , e7 , e8 , e9 , e10 );
441485 }
442486 try {
443- return (List <E >) of10MethodHandle .invokeExact (e1 , e2 , e3 , e4 , e5 , e6 , e7 , e8 , e9 , e10 );
487+ return (List <E >) methodHandle .invokeExact (e1 , e2 , e3 , e4 , e5 , e6 , e7 , e8 , e9 , e10 );
444488 } catch (Throwable e ) {
445489 return of (e1 , e2 , e3 , e4 , e5 , e6 , e7 , e8 , e9 , e10 );
446490 }
@@ -470,11 +514,15 @@ public static <E> List<E> ofList(E... elements) {
470514 if (length (elements ) < 1 ) {
471515 return ofList ();
472516 }
473- if (ofMethodHandle == null ) {
517+ return ofListElements (ofMethodHandle , elements );
518+ }
519+
520+ static <E > List <E > ofListElements (MethodHandle methodHandle , E [] elements ) {
521+ if (methodHandle == null ) {
474522 return of (elements );
475523 }
476524 try {
477- return (List <E >) ofMethodHandle .invokeExact (elements );
525+ return (List <E >) methodHandle .invokeExact (elements );
478526 } catch (Throwable e ) {
479527 return of (elements );
480528 }
0 commit comments