import com.google.common.base.Throwables;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
-import java.lang.invoke.MethodHandles.Lookup;
import java.lang.invoke.MethodType;
import java.lang.reflect.Method;
import org.opendaylight.yangtools.concepts.Codec;
final class UnionValueOptionContext {
- private static final Lookup LOOKUP = MethodHandles.publicLookup();
private static final MethodType OBJECT_TYPE = MethodType.methodType(Object.class, Object.class);
private final Class<?> bindingType;
- // FIXME: migrate to invocation
private final MethodHandle getter;
private final Codec<Object,Object> codec;
this.codec = Preconditions.checkNotNull(codec);
try {
- this.getter = LOOKUP.unreflect(getter).asType(OBJECT_TYPE);
+ this.getter = MethodHandles.publicLookup().unreflect(getter).asType(OBJECT_TYPE);
} catch (IllegalAccessException e) {
throw new IllegalStateException("Failed to access method " + getter, e);
}