Bug 279390 - [fiximprove][debug]: Cannot debug static variables when running debugger
diff --git a/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/AbstractRuntimeContext.java b/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/AbstractRuntimeContext.java
index dec54b2..e73d87b 100644
--- a/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/AbstractRuntimeContext.java
+++ b/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/AbstractRuntimeContext.java
@@ -13,11 +13,13 @@
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
+import org.eclipse.jdi.internal.TypeImpl;
 import org.eclipse.jdt.core.IJavaProject;
 import org.eclipse.jdt.debug.core.IJavaClassObject;
 import org.eclipse.jdt.debug.core.IJavaClassType;
 import org.eclipse.jdt.debug.core.IJavaFieldVariable;
 import org.eclipse.jdt.debug.core.IJavaObject;
+import org.eclipse.jdt.debug.core.IJavaReferenceType;
 import org.eclipse.jdt.debug.core.IJavaType;
 import org.eclipse.jdt.debug.core.IJavaValue;
 import org.eclipse.jdt.internal.debug.core.JDIDebugPlugin;
@@ -101,11 +103,15 @@
      * @throws CoreException if loading fails
      */
     protected IJavaClassObject classForName(String qualifiedName, IJavaObject loader) throws CoreException {
-		IJavaType[] types = getVM().getJavaTypes(qualifiedName);
+    	String tname = qualifiedName;
+    	if (tname.startsWith("[")) { //$NON-NLS-1$
+    		tname = TypeImpl.signatureToName(qualifiedName);
+    	}
+		IJavaType[] types = getVM().getJavaTypes(tname);
 		if (types != null && types.length > 0) {
 			// find the one with the right class loader
 			for (int i = 0; i < types.length; i++) {
-				IJavaClassType type = (IJavaClassType) types[i];
+				IJavaReferenceType type = (IJavaReferenceType) types[i];
 				IJavaObject cloader = type.getClassLoaderObject();
 				if (isCompatibleLoader(loader, cloader)) {
 					return type.getClassObject();