Bug 77786 - NPE from Java debug hover
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugHover.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugHover.java
index 413a662..a0e23cb 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugHover.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugHover.java
@@ -109,7 +109,12 @@
             		    IField field = (IField)javaElement;
             		    String typeSignature = Signature.createTypeSignature(field.getDeclaringType().getFullyQualifiedName(), true);
             		    typeSignature = typeSignature.replace('.', '/');
-            			IJavaFieldVariable fieldVariable = frame.getThis().getField(field.getElementName(), typeSignature);
+            		    IJavaFieldVariable fieldVariable = null;
+            		    if (frame.isStatic()) {
+            		        fieldVariable = frame.getDeclaringType().getField(field.getElementName());
+            		    } else {
+            		        fieldVariable = frame.getThis().getField(field.getElementName(), typeSignature);
+            		    }
             		    if (fieldVariable != null) {
             		        StringBuffer buf = new StringBuffer();
             		        appendVariable(buf, fieldVariable);
diff --git a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIReferenceType.java b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIReferenceType.java
index e5f0d82..f8a7a74 100644
--- a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIReferenceType.java
+++ b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIReferenceType.java
@@ -76,7 +76,7 @@
 		try {
 			ReferenceType type = (ReferenceType)getUnderlyingType();
 			Field field = type.fieldByName(name);
-			if (field != null) {
+			if (field != null && field.isStatic()) {
 				return new JDIFieldVariable(getDebugTarget(), field, type);
 			}			
 		} catch (RuntimeException e) {