X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding%2Fmdsal-binding-dom-codec%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fdom%2Fcodec%2Fimpl%2FByteBuddyUtils.java;h=2b51af8f5936bcb890473817e7f59362f49832b9;hb=0ee55d1f9da11dd03ff05fc67d10cbcbfe63fd2c;hp=ed23670d2a8e9709303737a75d5e827edba23a1c;hpb=8740e6979cb275efef36defa2e633b936aba48e1;p=mdsal.git diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ByteBuddyUtils.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ByteBuddyUtils.java index ed23670d2a..2b51af8f59 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ByteBuddyUtils.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ByteBuddyUtils.java @@ -7,29 +7,16 @@ */ package org.opendaylight.mdsal.binding.dom.codec.impl; -import static java.util.Objects.requireNonNull; - import java.lang.reflect.Field; import java.lang.reflect.Method; -import net.bytebuddy.asm.AsmVisitorWrapper; -import net.bytebuddy.description.field.FieldDescription; import net.bytebuddy.description.field.FieldDescription.ForLoadedField; -import net.bytebuddy.description.field.FieldList; import net.bytebuddy.description.method.MethodDescription.ForLoadedMethod; -import net.bytebuddy.description.method.MethodList; import net.bytebuddy.description.type.TypeDescription; -import net.bytebuddy.implementation.Implementation; import net.bytebuddy.implementation.bytecode.StackManipulation; import net.bytebuddy.implementation.bytecode.member.FieldAccess; import net.bytebuddy.implementation.bytecode.member.FieldAccess.Defined; import net.bytebuddy.implementation.bytecode.member.MethodInvocation; -import net.bytebuddy.jar.asm.ClassVisitor; -import net.bytebuddy.jar.asm.ClassWriter; -import net.bytebuddy.jar.asm.Label; -import net.bytebuddy.jar.asm.MethodVisitor; -import net.bytebuddy.jar.asm.Opcodes; import net.bytebuddy.matcher.ElementMatchers; -import net.bytebuddy.pool.TypePool; final class ByteBuddyUtils { private ByteBuddyUtils() { @@ -44,18 +31,6 @@ final class ByteBuddyUtils { return MethodInvocation.invoke(describe(clazz, name, args)); } - static AsmVisitorWrapper computeFrames() { - return ComputeFrames.INSTANCE; - } - - static StackManipulation ifEq(final Label label) { - return new IfEq(label); - } - - static StackManipulation markLabel(final Label label) { - return new Mark(label); - } - static StackManipulation getField(final Field field) { return FieldAccess.forField(new ForLoadedField(field).asDefined()).read(); } @@ -81,78 +56,6 @@ final class ByteBuddyUtils { .getOnly()); } - /** - * Utility wrapper to force ASM to compute frames. - */ - private enum ComputeFrames implements AsmVisitorWrapper { - INSTANCE; - - @Override - public int mergeWriter(final int flags) { - return flags | ClassWriter.COMPUTE_FRAMES; - } - - @Override - public int mergeReader(final int flags) { - return flags | ClassWriter.COMPUTE_FRAMES; - } - - @Override - public ClassVisitor wrap(final TypeDescription td, final ClassVisitor cv, final Implementation.Context ctx, - final TypePool tp, final FieldList fields, final MethodList methods, - final int wflags, final int rflags) { - return cv; - } - } - - /** - * IFEQ opcode invocation, jumping to a particular label. - */ - private static final class IfEq implements StackManipulation { - private static final StackManipulation.Size SIZE = new StackManipulation.Size(-1, 0); - - private final Label label; - - IfEq(final Label label) { - this.label = requireNonNull(label); - } - - @Override - public boolean isValid() { - return true; - } - - @Override - public StackManipulation.Size apply(final MethodVisitor mv, final Implementation.Context ctx) { - mv.visitJumpInsn(Opcodes.IFEQ, label); - return SIZE; - } - } - - /** - * A label definition, marking the spot where IfEq should jump. - */ - private static final class Mark implements StackManipulation { - private static final StackManipulation.Size SIZE = new StackManipulation.Size(0, 0); - - private final Label label; - - Mark(final Label label) { - this.label = requireNonNull(label); - } - - @Override - public boolean isValid() { - return true; - } - - @Override - public StackManipulation.Size apply(final MethodVisitor mv, final Implementation.Context ctx) { - mv.visitLabel(label); - return SIZE; - } - } - private static Method getMethod(final Class clazz, final String name, final Class... args) { try { return clazz.getDeclaredMethod(name, args);