I hereby claim:
- I am raphw on github.
- I am raphw (https://keybase.io/raphw) on keybase.
- I have a public key ASCRLoOS-VdPyzfuhZ_xgec5Zht5jaGp2ScPVs_qJ-kXEgo
To claim this, I am signing this object:
| XMLInputFactory xif = XMLInputFactory.newFactory(); | |
| XMLOutputFactory xof = XMLOutputFactory.newFactory(); | |
| try (InputStream in = new FileInputStream("/home/rafael/foo.xml")) { | |
| XMLEventReader xer = xif.createXMLEventReader(in); | |
| XMLEventWriter xew = xof.createXMLEventWriter(System.out); | |
| JAXBContext jc = JAXBContext.newInstance(Bar.class); |
| import net.bytebuddy.asm.AsmVisitorWrapper; | |
| import net.bytebuddy.description.method.MethodDescription; | |
| import net.bytebuddy.description.modifier.Visibility; | |
| import net.bytebuddy.description.type.TypeDescription; | |
| import net.bytebuddy.dynamic.DynamicType; | |
| import net.bytebuddy.implementation.FixedValue; | |
| import net.bytebuddy.implementation.Implementation; | |
| import net.bytebuddy.pool.TypePool; | |
| import org.objectweb.asm.MethodVisitor; | |
| import org.objectweb.asm.Opcodes; |
| import net.bytebuddy.asm.AsmVisitorWrapper; | |
| import net.bytebuddy.description.method.MethodDescription; | |
| import net.bytebuddy.description.type.TypeDescription; | |
| import org.objectweb.asm.MethodVisitor; | |
| import org.objectweb.asm.Opcodes; | |
| import static net.bytebuddy.matcher.ElementMatchers.named; | |
| public class Foo { |
| import java.lang.instrument.Instrumentation; | |
| import java.lang.reflect.Layer; | |
| import java.lang.reflect.Module; | |
| import java.util.*; | |
| public class WeakeningAgent { | |
| public static void premain(String argument, Instrumentation instrumentation) { | |
| boolean full = argument != null && argument.equals("full"); | |
| Set<Module> importing = new HashSet<>(), exporting = new HashSet<>(); |
| public class Foo { | |
| public static void main(String[] args) throws UnmodifiableClassException, InterruptedException { | |
| // jar: https://bintray.com/raphw/maven/download_file?file_path=net%2Fbytebuddy%2Fbyte-buddy-agent%2F1.4.26%2Fbyte-buddy-agent-1.4.26.jar | |
| Instrumentation instrumentation = ByteBuddyAgent.install(); | |
| System.out.println(instrumentation.isRedefineClassesSupported()); | |
| System.out.println(instrumentation.isRetransformClassesSupported()); | |
I hereby claim:
To claim this, I am signing this object:
| public class Bar { | |
| public static Object baz() { | |
| return new Object(); | |
| } | |
| } |
| package net.bytebuddy; | |
| import net.bytebuddy.agent.ByteBuddyAgent; | |
| import net.bytebuddy.agent.builder.AgentBuilder; | |
| import net.bytebuddy.description.type.TypeDescription; | |
| import net.bytebuddy.dynamic.ClassFileLocator; | |
| import net.bytebuddy.dynamic.DynamicType; | |
| import net.bytebuddy.dynamic.loading.ClassInjector; | |
| import net.bytebuddy.implementation.MethodDelegation; | |
| import net.bytebuddy.implementation.bind.annotation.SuperCall; |
| public class Foo { | |
| public static void main(String[] args) throws Exception { | |
| System.out.println(Arrays.asList(Foo.class.getDeclaredField("bar").getAnnotatedType().getAnnotations())); | |
| System.out.println(Arrays.asList(Foo.class.getDeclaredField("qux").getAnnotatedType().getAnnotations())); | |
| } | |
| GenericNested<Void>.@TypeAnnotation Inner bar; | |
| Nested.@TypeAnnotation Inner qux; |
| class Foo<T> { | |
| abstract class Bar { | |
| // type path is not null but . | |
| abstract void qux(@TypeAnnotation(1) Bar arg); | |
| abstract void baz(Foo<T>.@TypeAnnotation(7) Bar arg); | |
| } | |
| } | |
| @Target(Element.TYPE_USE) | |
| @Retention(RetentionPolicy.RUNTIME) |