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: | 3290 / 15659 | 
| Version history: | 16 change(s) | 
| Referenced in: | [show references] |