Bug 106489  -   CCE from watch Expression
diff --git a/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/ASTEvaluationEngine.java b/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/ASTEvaluationEngine.java
index b68d48f..a4e5da1 100644
--- a/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/ASTEvaluationEngine.java
+++ b/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/ASTEvaluationEngine.java
@@ -194,7 +194,7 @@
 //				receivingType= (IJavaReferenceType) frame.getThis().getJavaType();
 //			}
 			
-			unit = parseCompilationUnit(mapper.getSource(receivingType, javaProject).toCharArray(), mapper.getCompilationUnitName(), javaProject);
+			unit = parseCompilationUnit(mapper.getSource(receivingType, javaProject, frame.isStatic()).toCharArray(), mapper.getCompilationUnitName(), javaProject);
 		} catch (CoreException e) {
 			InstructionSequence expression= new InstructionSequence(snippet);
 			expression.addError(e.getStatus().getMessage());
@@ -258,7 +258,7 @@
 			IJavaType[] javaTypes = getDebugTarget().getJavaTypes(recTypeName);
 			if (javaTypes.length > 0) {
 				IJavaReferenceType recType = (IJavaReferenceType) javaTypes[0];
-				unit = parseCompilationUnit(mapper.getSource(recType, getJavaProject()).toCharArray(), mapper.getCompilationUnitName(), javaProject);
+				unit = parseCompilationUnit(mapper.getSource(recType, getJavaProject(), false).toCharArray(), mapper.getCompilationUnitName(), javaProject);
 			} else {
 				IStatus status = new Status(IStatus.ERROR, JDIDebugPlugin.getUniqueIdentifier(), JDIDebugPlugin.INTERNAL_ERROR, 
 						EvaluationEngineMessages.ASTEvaluationEngine_1, null);
@@ -305,7 +305,7 @@
 		mapper = new EvaluationSourceGenerator(new String[0], new String[0], snippet);
 
 		try {
-			unit = parseCompilationUnit(mapper.getSource(type, javaProject).toCharArray(), mapper.getCompilationUnitName(), javaProject);
+			unit = parseCompilationUnit(mapper.getSource(type, javaProject, false).toCharArray(), mapper.getCompilationUnitName(), javaProject);
 		} catch (CoreException e) {
 			InstructionSequence expression= new InstructionSequence(snippet);
 			expression.addError(e.getStatus().getMessage());
diff --git a/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/EvaluationSourceGenerator.java b/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/EvaluationSourceGenerator.java
index 66d4573..910ba35 100644
--- a/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/EvaluationSourceGenerator.java
+++ b/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/EvaluationSourceGenerator.java
@@ -180,15 +180,15 @@
 		return objectToEvaluationSourceMapper;
 	}
 	
-	public String getSource(IJavaReferenceType type, IJavaProject javaProject) throws DebugException {
+	public String getSource(IJavaReferenceType type, IJavaProject javaProject, boolean isStatic) throws DebugException {
 		if (fSource == null) {
 			String baseSource= getTypeSourceFromProject(type.getName(), javaProject);
 			int lineNumber= getLineNumber((JDIReferenceType)type);
 			if (baseSource != null && lineNumber != -1) {
-				createEvaluationSourceFromSource(baseSource, type.getName(), lineNumber, false, javaProject);
+				createEvaluationSourceFromSource(baseSource, type.getName(), lineNumber, isStatic, javaProject);
 			}
 			if (fSource == null) {
-				BinaryBasedSourceGenerator mapper= getInstanceSourceMapper((JDIReferenceType) type, false);
+				BinaryBasedSourceGenerator mapper= getInstanceSourceMapper((JDIReferenceType) type, isStatic);
 				createEvaluationSourceFromJDIObject(mapper);
 			}
 		}