diff --git a/byte-buddy-dep/src/main/java/net/bytebuddy/ByteBuddy.java b/byte-buddy-dep/src/main/java/net/bytebuddy/ByteBuddy.java index 87ef37ec7be..ea76d80f2ce 100644 --- a/byte-buddy-dep/src/main/java/net/bytebuddy/ByteBuddy.java +++ b/byte-buddy-dep/src/main/java/net/bytebuddy/ByteBuddy.java @@ -1485,7 +1485,9 @@ public List extractConstructors(TypeDescription instrum List tokens = new ArrayList(instrumentedType.getRecordComponents().size()); for (RecordComponentDescription.InDefinedShape recordComponent : instrumentedType.getRecordComponents()) { tokens.add(new ParameterDescription.Token(recordComponent.getType(), - recordComponent.getDeclaredAnnotations().filter(targetsElement(ElementType.CONSTRUCTOR)))); + recordComponent.getDeclaredAnnotations().filter(targetsElement(ElementType.CONSTRUCTOR)), + recordComponent.getActualName(), + ModifierContributor.EMPTY_MASK)); } return Collections.singletonList(new MethodDescription.Token(MethodDescription.CONSTRUCTOR_INTERNAL_NAME, Opcodes.ACC_PUBLIC, diff --git a/byte-buddy-dep/src/test/java/net/bytebuddy/ByteBuddyTest.java b/byte-buddy-dep/src/test/java/net/bytebuddy/ByteBuddyTest.java index 04ec41759cd..b8a561d243b 100644 --- a/byte-buddy-dep/src/test/java/net/bytebuddy/ByteBuddyTest.java +++ b/byte-buddy-dep/src/test/java/net/bytebuddy/ByteBuddyTest.java @@ -15,6 +15,7 @@ import org.junit.Rule; import org.junit.Test; +import java.lang.reflect.Constructor; import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.net.URL; @@ -108,6 +109,10 @@ public void testRecordWithMember() throws Exception { assertThat(type.getMethod("equals", Object.class).invoke(record, new Object()), is((Object) false)); assertThat(type.getMethod("equals", Object.class).invoke(record, record), is((Object) true)); assertThat(type.getMethod("toString").invoke(record), is((Object) (type.getSimpleName() + "[foo=bar]"))); + Object[] parameter = (Object[]) Constructor.class.getMethod("getParameters").invoke(type.getDeclaredConstructor(String.class)); + assertThat(parameter.length, is(1)); + assertThat(Class.forName("java.lang.reflect.Parameter").getMethod("getName").invoke(parameter[0]), is((Object) "foo")); + assertThat(Class.forName("java.lang.reflect.Parameter").getMethod("getModifiers").invoke(parameter[0]), is((Object) 0)); } @Test