Move Twr test to java 9 package
Change-Id: Ib89e36424acf82fcfe3f3ecaaec7aeaa7643fe02
diff --git a/src/test/examplesJava9/twr/twraddsuppressed/asm/TestClass$MyClosableDump.java b/src/test/examplesJava9/twr/twraddsuppressed/asm/TestClass$MyClosableDump.java
new file mode 100644
index 0000000..039d6c2
--- /dev/null
+++ b/src/test/examplesJava9/twr/twraddsuppressed/asm/TestClass$MyClosableDump.java
@@ -0,0 +1,80 @@
+// Copyright (c) 2024, the R8 project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+package twr.twraddsuppressed.asm;
+
+import org.objectweb.asm.AnnotationVisitor;
+import org.objectweb.asm.ClassWriter;
+import org.objectweb.asm.FieldVisitor;
+import org.objectweb.asm.Label;
+import org.objectweb.asm.MethodVisitor;
+import org.objectweb.asm.Opcodes;
+import org.objectweb.asm.RecordComponentVisitor;
+
+public class TestClass$MyClosableDump implements Opcodes {
+
+ public static byte[] dump() throws Exception {
+
+ ClassWriter classWriter = new ClassWriter(0);
+ FieldVisitor fieldVisitor;
+ RecordComponentVisitor recordComponentVisitor;
+ MethodVisitor methodVisitor;
+ AnnotationVisitor annotationVisitor0;
+
+ classWriter.visit(
+ V9,
+ ACC_PUBLIC | ACC_SUPER,
+ "twr/twraddsuppressed/TestClass$MyClosable",
+ null,
+ "java/lang/Object",
+ new String[] {"java/io/Closeable"});
+
+ classWriter.visitSource("TestClass.java", null);
+
+ classWriter.visitInnerClass(
+ "twr/twraddsuppressed/TestClass$MyClosable",
+ "twr/twraddsuppressed/TestClass",
+ "MyClosable",
+ ACC_PUBLIC | ACC_STATIC);
+
+ {
+ methodVisitor = classWriter.visitMethod(ACC_PUBLIC, "<init>", "()V", null, null);
+ methodVisitor.visitCode();
+ Label label0 = new Label();
+ methodVisitor.visitLabel(label0);
+ methodVisitor.visitLineNumber(10, label0);
+ methodVisitor.visitVarInsn(ALOAD, 0);
+ methodVisitor.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>", "()V", false);
+ methodVisitor.visitInsn(RETURN);
+ Label label1 = new Label();
+ methodVisitor.visitLabel(label1);
+ methodVisitor.visitLocalVariable(
+ "this", "Ltwraddsuppressed/TestClass$MyClosable;", null, label0, label1, 0);
+ methodVisitor.visitMaxs(1, 1);
+ methodVisitor.visitEnd();
+ }
+ {
+ methodVisitor = classWriter.visitMethod(ACC_PUBLIC, "close", "()V", null, null);
+ methodVisitor.visitCode();
+ Label label0 = new Label();
+ methodVisitor.visitLabel(label0);
+ methodVisitor.visitLineNumber(14, label0);
+ methodVisitor.visitTypeInsn(NEW, "java/lang/RuntimeException");
+ methodVisitor.visitInsn(DUP);
+ methodVisitor.visitLdcInsn("CLOSE");
+ methodVisitor.visitMethodInsn(
+ INVOKESPECIAL, "java/lang/RuntimeException", "<init>", "(Ljava/lang/String;)V", false);
+ methodVisitor.visitInsn(ATHROW);
+ Label label1 = new Label();
+ methodVisitor.visitLabel(label1);
+ methodVisitor.visitLocalVariable(
+ "this", "Ltwraddsuppressed/TestClass$MyClosable;", null, label0, label1, 0);
+ methodVisitor.visitMaxs(3, 1);
+ methodVisitor.visitEnd();
+ }
+ classWriter.visitEnd();
+
+ return classWriter.toByteArray();
+ }
+}