Initial push.
diff --git a/src/test/examples/enclosingmethod/OuterClass.java b/src/test/examples/enclosingmethod/OuterClass.java
new file mode 100644
index 0000000..d9ab4ba
--- /dev/null
+++ b/src/test/examples/enclosingmethod/OuterClass.java
@@ -0,0 +1,37 @@
+// Copyright (c) 2017, 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 enclosingmethod;
+
+public class OuterClass {
+  public class AClass {
+
+  }
+
+  public void aMethod() {
+    class AnotherClass extends AbstractClass {
+
+      @Override
+      public int anInt() {
+        return 48;
+      }
+    }
+
+    print(new AbstractClass() {
+      @Override
+      public int anInt() {
+        return 42;
+      }
+    });
+    print(new AnotherClass());
+  }
+
+  private static void print(AbstractClass anInstance) {
+    System.out.println(anInstance.anInt());
+    System.out.println(anInstance.getClass().getEnclosingClass());
+    System.out.println(anInstance.getClass().getEnclosingMethod());
+    System.out.println(anInstance.getClass().isAnonymousClass());
+    System.out.println(anInstance.getClass().isLocalClass());
+    System.out.println(anInstance.getClass().isMemberClass());
+  }
+}