diff --git a/testprograms/simpleScope/test/.classpath b/testprograms/simpleScope/test/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..51a8bbad89682d379e0aadb7bd54d22de601a62f
--- /dev/null
+++ b/testprograms/simpleScope/test/.classpath
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/testprograms/simpleScope/test/.project b/testprograms/simpleScope/test/.project
new file mode 100644
index 0000000000000000000000000000000000000000..b0299dbe7631bd85179c8571c7b86da2b28dc7b4
--- /dev/null
+++ b/testprograms/simpleScope/test/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>test</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/testprograms/simpleScope/test/.settings/org.eclipse.jdt.core.prefs b/testprograms/simpleScope/test/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..3a21537071bf4118b9e1ee864cb4bc258aa48211
--- /dev/null
+++ b/testprograms/simpleScope/test/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,11 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/testprograms/simpleScope/test/src/core/Person.java b/testprograms/simpleScope/test/src/core/Person.java
new file mode 100644
index 0000000000000000000000000000000000000000..3d900d90ca786722eeaa4727090f294212b64a13
--- /dev/null
+++ b/testprograms/simpleScope/test/src/core/Person.java
@@ -0,0 +1,16 @@
+package core;
+
+public class Person {
+	public final int id;
+	protected String name;
+	public Person(int i,String n) {name=n; id=i;}//shadows i(11)
+	public int getId() {return id;}
+	public String getName() {return name;}
+	public void setName(String name) {this.name = name;} //shadows name(5)
+
+	int i;
+	public void work() {
+		for (i = 0; id < 10; i++) {/* ... */}
+		for (int i = 0; i < 10; i++) {/* ... */}//shadows i(14)
+	}
+}
diff --git a/testprograms/simpleScope/test/src/ext/Employee.java b/testprograms/simpleScope/test/src/ext/Employee.java
new file mode 100644
index 0000000000000000000000000000000000000000..d0f0c51af9f5db6957b0cbb762ee87eecf78838e
--- /dev/null
+++ b/testprograms/simpleScope/test/src/ext/Employee.java
@@ -0,0 +1,18 @@
+package ext;
+
+import core.Person;
+
+public class Employee extends Person {
+	private int id; //shadows Person::id(4)
+	public Employee(int i,String n) {super(i,n);id=i;}
+	public int getId() {return id+1000;}
+	public String getName() {return "E "+name;}
+	
+	private class Memo {
+		private Memo(int i,String n){id=i;name=n;}
+		private final int id;//shadows id(6)
+		private final String name;//shadows Person::name(5)
+	}	
+	public Memo save() {return new Memo(id,name);}
+	public void restore(Memo m) {id=m.id; name=m.name;}
+}