Bug 198864 - Test Case
diff --git a/org.eclipse.jdt.debug.tests/testprograms/BreakpointsLocation.java b/org.eclipse.jdt.debug.tests/testprograms/BreakpointsLocation.java
index afcd4ad..ab02200 100644
--- a/org.eclipse.jdt.debug.tests/testprograms/BreakpointsLocation.java
+++ b/org.eclipse.jdt.debug.tests/testprograms/BreakpointsLocation.java
@@ -72,5 +72,13 @@
 			12
 			;
 	}
+	
+	public static void testMethodWithInnerClass(Object type){
+		class StaticInnerClass{
+			protected StaticInnerClass(Object t){
+				System.out.println("test");
+			}
+		}
+	}
 
 }
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/breakpoints/BreakpointLocationVerificationTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/breakpoints/BreakpointLocationVerificationTests.java
index 2822c8e..9c61a16 100755
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/breakpoints/BreakpointLocationVerificationTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/breakpoints/BreakpointLocationVerificationTests.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
+ * Copyright (c) 2000, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -57,7 +57,19 @@
 	 * @throws JavaModelException
 	 */
 	private void testLocation(int lineToTry, int expectedLineNumber, String expectedTypeName) throws JavaModelException {
-		IType type= getJavaProject().findType(expectedTypeName);
+		testLocation(lineToTry, expectedLineNumber, expectedTypeName, expectedTypeName);
+	}
+	
+	/**
+	 * Tests that the predefined location is locatable in the specified type
+	 * @param lineToTry
+	 * @param expectedLineNumber
+	 * @param baseTypeName
+	 * @param expectedTypeName
+	 * @throws JavaModelException
+	 */
+	private void testLocation(int lineToTry, int expectedLineNumber, String baseTypeName, String expectedTypeName) throws JavaModelException {
+		IType type= getJavaProject().findType(baseTypeName);
 		assertNotNull("Cannot find type", type);
 		CompilationUnit compilationUnit= parseCompilationUnit(type.getCompilationUnit());
 		ValidBreakpointLocationLocator locator= new ValidBreakpointLocationLocator(compilationUnit, lineToTry, true, false);
@@ -114,7 +126,7 @@
 	 */
 	public void testLineAfterAllCode() throws Exception {
 		// ********* this test need to be updated every time BreakpointsLocation.java is modified *************
-		testLocation(74, -1, "BreakpointsLocation");
+		testLocation(82, -1, "BreakpointsLocation");
 		// ******************************
 	}
 	
@@ -205,6 +217,14 @@
 	public void testLineLitteral2() throws Exception {
 		testLocation(55, 55, "BreakpointsLocation");
 	}
+	
+	/**
+	 * Tests a specific breakpoint location
+	 * @throws Exception
+	 */
+	public void testInnerStaticClass() throws Exception {
+		testLocation(79, 79, "BreakpointsLocation", "BreakpointsLocation.StaticInnerClass");
+	}
 
 	/**
 	 * Tests that an specific field is locatable in a specific type at a given offset and line