Transpiled version (2740L) is out of date.
1 | // get purpose 1: access a list/array/map (safer version of x.get(y)) |
2 | |
3 | static <A> A get(L<A> l, int idx) {
|
4 | ret l != null && idx >= 0 && idx < l(l) ? l.get(idx) : null; |
5 | } |
6 | |
7 | // seems to conflict with other signatures |
8 | /*static <A, B> B get(Map<A, B> map, A key) {
|
9 | ret map != null ? map.get(key) : null; |
10 | }*/ |
11 | |
12 | static <A> A get(A[] l, int idx) {
|
13 | ret idx >= 0 && idx < l(l) ? l[idx] : null; |
14 | } |
15 | |
16 | // default to false |
17 | static bool get(bool[] l, int idx) {
|
18 | ret idx >= 0 && idx < l(l) ? l[idx] : false; |
19 | } |
20 | |
21 | // get purpose 2: access a field by reflection or a map |
22 | |
23 | static Object get(Object o, String field) {
|
24 | try {
|
25 | if (o == null) null; |
26 | if (o instanceof Class) return get((Class) o, field); |
27 | |
28 | if (o instanceof Map) |
29 | ret ((Map) o).get(field); |
30 | |
31 | Field f = getOpt_findField(o.getClass(), field); |
32 | if (f != null) {
|
33 | makeAccessible(f); |
34 | ret f.get(o); |
35 | } |
36 | |
37 | ifclass DynamicObject |
38 | if (o cast DynamicObject) |
39 | ret getOptDynOnly(o, field); |
40 | endif |
41 | } catch (Exception e) {
|
42 | throw asRuntimeException(e); |
43 | } |
44 | throw new RuntimeException("Field '" + field + "' not found in " + o.getClass().getName());
|
45 | } |
46 | |
47 | sO mapMethodLike get_raw(S field, O o) {
|
48 | ret get_raw(o, field); |
49 | } |
50 | |
51 | static Object get_raw(Object o, String field) ctex {
|
52 | if (o == null) null; |
53 | Field f = get_findField(o.getClass(), field); |
54 | makeAccessible(f); |
55 | ret f.get(o); |
56 | } |
57 | |
58 | static Object get(Class c, String field) {
|
59 | try {
|
60 | Field f = get_findStaticField(c, field); |
61 | makeAccessible(f); |
62 | return f.get(null); |
63 | } catch (Exception e) {
|
64 | throw new RuntimeException(e); |
65 | } |
66 | } |
67 | |
68 | static Field get_findStaticField(Class<?> c, String field) {
|
69 | Class _c = c; |
70 | do {
|
71 | for (Field f : _c.getDeclaredFields()) |
72 | if (f.getName().equals(field) && (f.getModifiers() & java.lang.reflect.Modifier.STATIC) != 0) |
73 | return f; |
74 | _c = _c.getSuperclass(); |
75 | } while (_c != null); |
76 | throw new RuntimeException("Static field '" + field + "' not found in " + c.getName());
|
77 | } |
78 | |
79 | static Field get_findField(Class<?> c, String field) {
|
80 | Class _c = c; |
81 | do {
|
82 | for (Field f : _c.getDeclaredFields()) |
83 | if (f.getName().equals(field)) |
84 | return f; |
85 | _c = _c.getSuperclass(); |
86 | } while (_c != null); |
87 | throw new RuntimeException("Field '" + field + "' not found in " + c.getName());
|
88 | } |
89 | |
90 | static O mapMethodLike get(S field, O o) {
|
91 | ret get(o, field); |
92 | } |
93 | |
94 | sbool get(BitSet bs, int idx) {
|
95 | ret bs != null && bs.get(idx); |
96 | } |
download show line numbers debug dex old transpilations
Travelled to 29 computer(s): aoiabmzegqzx, ayfdnjdhpjha, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, ddnzoavkxhuk, ekrmjmnbrukm, gwrvuhgaqvyk, imzmzdywqqli, irmadwmeruwu, ishqpsrjomds, jozkyjcghlvl, jtubtzbbkimh, kltaiputbqfu, lnbujpyubztb, lpdgvwnxivlt, mowyntqkapby, mqqgnosmbjvj, onxytkatvevr, podlckwnjdmb, ppjhyzlbdabe, pyentgdyhuwx, pzhvpgtvlbxg, sawdedvomwva, tslmcundralx, tvejysmllsmz, vouqrxazstgt, whxojlpjdney, xrpafgyirdlv
| ID | Author/Program | Comment | Date |
|---|---|---|---|
| 1106 | stefan | This doesn't scan superclasses... does it? | 2015-09-22 20:12:23 |
| 443 | #1000604 (pitcher) | 2015-08-18 14:51:38 |
| Snippet ID: | #1000619 |
| Snippet name: | get function |
| Eternal ID of this version: | #1000619/17 |
| Text MD5: | b698bb3cf617d701e5299944cab25fab |
| Author: | stefan |
| Category: | |
| Type: | JavaX fragment (include) |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2021-06-26 22:39:18 |
| Source code size: | 2536 bytes / 96 lines |
| Pitched / IR pitched: | No / No |
| Views / Downloads: | 3413 / 15767 |
| Version history: | 16 change(s) |
| Referenced in: | [show references] |