| 2462 | // if (fit.get(0) |
| 2463 | // .isInstance(value)) return value; |
| 2464 | // |
| 2465 | // // promote non-arrays to arrays |
| 2466 | // if (List.class.isAssignableFrom(fit.get(0))) { |
| 2467 | // if (!(value instanceof List)) { |
| 2468 | // return Collections.singletonList(convert(value, fit.subList(1, fit.size()))); |
| 2469 | // } else { |
| 2470 | // return value; |
| 2471 | // } |
| 2472 | // } else if (Map.class.isAssignableFrom(fit.get(0)) && String.class.isAssignableFrom(fit.get(1))) { |
| 2473 | // // promote non-Map<String, V> to Map<String, V> |
| 2474 | // if (!(value instanceof Map)) { |
| 2475 | // return Collections.singletonMap("" + value + ":" + System.identityHashCode(value), convert(value, fit.subList(2, fit.size()))); |
| 2476 | // } else { |
| 2477 | // return value; |
| 2478 | // } |
| 2479 | // |
| 2480 | // } else if (Collection.class.isAssignableFrom(fit.get(0))) { |
| 2481 | // if (!(value instanceof Collection)) { |
| 2482 | // return Collections.singletonList(convert(value, fit.subList(1, fit.size()))); |
| 2483 | // } else { |
| 2484 | // return value; |
| 2485 | // } |
| 2486 | // |
| 2487 | // } |
| 2488 | // |
| 2489 | // if (value instanceof ScriptFunction) { |
| 2490 | // StaticClass adapterClassFor = JavaAdapterFactory.getAdapterClassFor(new Class[]{fit.get(0)}, (ScriptObject) value, MethodHandles.lookup()); |
| 2491 | // try { |
| 2492 | // return adapterClassFor.getRepresentedClass() |
| 2493 | // .newInstance(); |
| 2494 | // } catch (InstantiationException e) { |
| 2495 | // Log.log("underscore.error", ()->" problem instantiating adaptor class to take us from " + value + " ->" + fit.get(0)+e); |
| 2496 | // } catch (IllegalAccessException e) { |
| 2497 | // Log.log("underscore.error", ()->" problem instantiating adaptor class to take us from " + value + " ->" + fit.get(0)+e); |
| 2498 | // } |
| 2499 | // } |
| 2500 | // |
| 2501 | // return value; |
| 2502 | |
| 2503 | } |
| 2504 | |
| 2505 | @Override |
| 2506 | public Object asMap_call(Object a, Object b) { |
| 2507 | System.err.println( |
| 2508 | " call called :" + a + " " + b + " " + (b instanceof Map ? ((Map) b).keySet() : b.getClass() |
| 2509 | .getSuperclass() + " " + Arrays.asList(b.getClass() |
| 2510 | .getInterfaces()))); |
| 2511 | boolean success = false; |
| 2512 | try { |
| 2513 | Map<?, ?> m = (Map<?, ?>) ScriptUtils.convert(b, Map.class); |