diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ISymbolReader.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ISymbolReader.java
index 3b981e9c338..e8bc49a0796 100644
--- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ISymbolReader.java
+++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ISymbolReader.java
@@ -10,6 +10,8 @@
  *******************************************************************************/
 package org.eclipse.cdt.core;
 
+import org.eclipse.core.runtime.IProgressMonitor;
+
 /**
  * A reader that's able to decipher debug symbol formats.
  * 
@@ -21,4 +23,13 @@ package org.eclipse.cdt.core;
 public interface ISymbolReader {
 
 	String[] getSourceFiles();
+	
+	/**
+	 * Gets the source files from this symbol reader.
+	 *
+	 * @param monitor a progress monitor since this may be a lengthly operation
+	 * @return an array of path names to the source files
+	 * @since 5.2
+	 */
+	String[] getSourceFiles(IProgressMonitor monitor);
 }
diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/coff/CodeViewReader.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/coff/CodeViewReader.java
index 9c2ce9aad84..0b00c4c124d 100644
--- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/coff/CodeViewReader.java
+++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/coff/CodeViewReader.java
@@ -16,6 +16,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.eclipse.cdt.core.ISymbolReader;
+import org.eclipse.core.runtime.IProgressMonitor;
 
 public class CodeViewReader implements ISymbolReader {
 
@@ -164,4 +165,11 @@ public class CodeViewReader implements ISymbolReader {
 			}
 		}
 	}
+
+	/**
+	 * @since 5.2
+	 */
+	public String[] getSourceFiles(IProgressMonitor monitor) {
+		return getSourceFiles();
+	}
 }
diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/debug/dwarf/DwarfReader.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/debug/dwarf/DwarfReader.java
index 461ad228657..a006c576d16 100644
--- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/debug/dwarf/DwarfReader.java
+++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/debug/dwarf/DwarfReader.java
@@ -20,12 +20,13 @@ import java.util.List;
 
 import org.eclipse.cdt.core.CCorePlugin;
 import org.eclipse.cdt.core.ISymbolReader;
-import org.eclipse.cdt.utils.coff.PE;
 import org.eclipse.cdt.utils.coff.Coff.SectionHeader;
+import org.eclipse.cdt.utils.coff.PE;
 import org.eclipse.cdt.utils.debug.IDebugEntryRequestor;
 import org.eclipse.cdt.utils.elf.Elf;
 import org.eclipse.cdt.utils.elf.Elf.Section;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.Path;
 
 /**
@@ -479,4 +480,12 @@ public class DwarfReader extends Dwarf implements ISymbolReader {
 		if (stmtList > -1)	// this CU has "stmt_list" attribute
 			parseSourceInCULineInfo(cuCompDir, stmtList);
 	}
+	
+	/**
+	 * @since 5.2
+	 */
+	public String[] getSourceFiles(IProgressMonitor monitor) {
+		return getSourceFiles();
+	}
+
 }
diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/debug/stabs/StabsReader.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/debug/stabs/StabsReader.java
index 7352871fdd1..eb269e16caf 100644
--- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/debug/stabs/StabsReader.java
+++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/debug/stabs/StabsReader.java
@@ -15,6 +15,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.eclipse.cdt.core.ISymbolReader;
+import org.eclipse.core.runtime.IProgressMonitor;
 
 public class StabsReader implements ISymbolReader {
 
@@ -244,4 +245,12 @@ public class StabsReader implements ISymbolReader {
 			break;
 		}
 	}
+	
+	/**
+	 * @since 5.2
+	 */
+	public String[] getSourceFiles(IProgressMonitor monitor) {
+		return getSourceFiles();
+	}
+
 }