From: Robert Varga Date: Mon, 11 Apr 2022 14:51:01 +0000 (+0200) Subject: Disconnect BitsCodec from ReflectionBasedCodec X-Git-Tag: v9.0.2~6 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=mdsal.git;a=commitdiff_plain;h=0d3b1b5bf1eb3e28b198496facb03d1653a92d22 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 --- 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); }); }