Test Class.forName and serialization on inner classes

Change-Id: Ib8e5e5df02818ca05d46d866f60a59c07a843d51
diff --git a/test/042-new-instance/src/Main.java b/test/042-new-instance/src/Main.java
index e43c5a5..b0a5fd4 100644
--- a/test/042-new-instance/src/Main.java
+++ b/test/042-new-instance/src/Main.java
@@ -92,6 +92,28 @@
             ex.printStackTrace();
         }
 
+        // should succeed
+        try {
+            Class c = Class.forName("Main$InnerClass");
+            Constructor cons = c.getDeclaredConstructor(new Class<?>[]{Main.class});
+            Object obj = cons.newInstance(new Main());
+            System.out.println("Cons InnerClass succeeded");
+        } catch (Exception ex) {
+            System.err.println("Cons InnerClass failed");
+            ex.printStackTrace();
+        }
+
+        // should succeed
+        try {
+            Class c = Class.forName("Main$StaticInnerClass");
+            Constructor cons = c.getDeclaredConstructor((Class[]) null);
+            Object obj = cons.newInstance();
+            System.out.println("Cons StaticInnerClass succeeded");
+        } catch (Exception ex) {
+            System.err.println("Cons StaticInnerClass failed");
+            ex.printStackTrace();
+        }
+
         // should fail
         try {
             Class c = Class.forName("otherpackage.PackageAccess");
@@ -135,6 +157,12 @@
         }
 
     }
+
+    class InnerClass {
+    }
+
+    static class StaticInnerClass {
+    }
 }
 
 class LocalClass {