From 0d3b1b5bf1eb3e28b198496facb03d1653a92d22 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Mon, 11 Apr 2022 16:51:01 +0200 Subject: [PATCH] Disconnect BitsCodec from ReflectionBasedCodec There is just no need to retain the target class here, as we'll never access it. JIRA: MDSAL-704 Change-Id: I1d01af3a16d2a4de5d8bd899428960875280493a Signed-off-by: Robert Varga --- .../mdsal/binding/dom/codec/impl/BitsCodec.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BitsCodec.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BitsCodec.java index 9a4238e9dc..a9adc30bdb 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BitsCodec.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BitsCodec.java @@ -33,7 +33,8 @@ import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition; import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition.Bit; -final class BitsCodec extends ReflectionBasedCodec implements SchemaUnawareCodec { +// FIXME: 'SchemaUnawareCodec' is not correct: we use BitsTypeDefinition in construction +final class BitsCodec extends ValueTypeCodec implements SchemaUnawareCodec { /* * Use identity comparison for keys and allow classes to be GCd themselves. * @@ -54,9 +55,7 @@ final class BitsCodec extends ReflectionBasedCodec implements SchemaUnawareCodec private final ImmutableSet ctorArgs; private final MethodHandle ctor; - private BitsCodec(final Class typeClass, final MethodHandle ctor, final Set ctorArgs, - final Map getters) { - super(typeClass); + private BitsCodec(final MethodHandle ctor, final Set ctorArgs, final Map getters) { this.ctor = requireNonNull(ctor); this.ctorArgs = ImmutableSet.copyOf(ctorArgs); this.getters = ImmutableMap.copyOf(getters); @@ -83,7 +82,7 @@ final class BitsCodec extends ReflectionBasedCodec implements SchemaUnawareCodec final MethodHandle ctor = MethodHandles.publicLookup().unreflectConstructor(constructor) .asSpreader(Boolean[].class, ctorArgs.size()).asType(CONSTRUCTOR_INVOKE_TYPE); - return new BitsCodec(returnType, ctor, ctorArgs, getters); + return new BitsCodec(ctor, ctorArgs, getters); }); } -- 2.36.6