diff --git a/src/etc/testcases/taskdefs/optional/depend/depend.xml b/src/etc/testcases/taskdefs/optional/depend/depend.xml
index 11430da9e..0493e9b2a 100644
--- a/src/etc/testcases/taskdefs/optional/depend/depend.xml
+++ b/src/etc/testcases/taskdefs/optional/depend/depend.xml
@@ -97,6 +97,10 @@
+
+
+
+
diff --git a/src/etc/testcases/taskdefs/optional/depend/src1/E.java b/src/etc/testcases/taskdefs/optional/depend/src1/E.java
new file mode 100644
index 000000000..c8f89f2d2
--- /dev/null
+++ b/src/etc/testcases/taskdefs/optional/depend/src1/E.java
@@ -0,0 +1,6 @@
+public class E {
+ E() {
+ System.out.println(A.class);
+ }
+}
+
diff --git a/src/testcases/org/apache/tools/ant/types/optional/depend/ClassFileSetTest.java b/src/testcases/org/apache/tools/ant/types/optional/depend/ClassFileSetTest.java
index eded10aa8..aaf422cac 100644
--- a/src/testcases/org/apache/tools/ant/types/optional/depend/ClassFileSetTest.java
+++ b/src/testcases/org/apache/tools/ant/types/optional/depend/ClassFileSetTest.java
@@ -158,4 +158,31 @@ public class ClassFileSetTest extends BuildFileTest {
public void testByReference() {
executeTarget("testbyreference");
}
+
+ /**
+ * Test that classes included in a method "System.out.println(MyClass.class)" are included.
+ */
+ public void testMethodParam() {
+ Project project = getProject();
+ executeTarget("testmethodparam");
+ FileSet resultFileSet = (FileSet)project.getReference(RESULT_FILESET);
+ DirectoryScanner scanner = resultFileSet.getDirectoryScanner(project);
+ String[] scannedFiles = scanner.getIncludedFiles();
+ Hashtable files = new Hashtable();
+ for (int i = 0; i < scannedFiles.length; ++i) {
+ files.put(scannedFiles[i], scannedFiles[i]);
+ }
+ assertEquals("Classfileset did not pick up expected number of "
+ + "class files", 5, files.size());
+ assertTrue("Result did not contain A.class",
+ files.containsKey("A.class"));
+ assertTrue("Result did not contain B.class",
+ files.containsKey("B.class"));
+ assertTrue("Result did not contain C.class",
+ files.containsKey("C.class"));
+ assertTrue("Result did not contain D.class",
+ files.containsKey("D.class"));
+ assertTrue("Result did not contain E.class",
+ files.containsKey("E.class"));
+ }
}