Bug 565418 - Use lazy cleanup in JDT debug

Change-Id: I2907a958056e4cc30398412de3414792ac95a100
Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com>
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/eval/BooleanOperatorsTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/eval/BooleanOperatorsTests.java
index 23dfdae..123ec55 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/eval/BooleanOperatorsTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/eval/BooleanOperatorsTests.java
@@ -39,25 +39,25 @@
 		String typeName = value.getReferenceTypeName();
 		assertEquals("boolean or boolean : wrong type : ", "boolean", typeName);
 		boolean booleanValue = ((IJavaPrimitiveValue)value).getBooleanValue();
-		assertEquals("boolean or boolean : wrong result : ", xBooleanValue | xBooleanValue, booleanValue);
+		assertEquals("boolean or boolean : wrong result : ", xBooleanValue || xBooleanValue, booleanValue);
 
 		value = eval(xBoolean + orOp + yBoolean);
 		typeName = value.getReferenceTypeName();
 		assertEquals("boolean or boolean : wrong type : ", "boolean", typeName);
 		booleanValue = ((IJavaPrimitiveValue)value).getBooleanValue();
-		assertEquals("boolean or boolean : wrong result : ", xBooleanValue | yBooleanValue, booleanValue);
+		assertEquals("boolean or boolean : wrong result : ", xBooleanValue || yBooleanValue, booleanValue);
 
 		value = eval(yBoolean + orOp + xBoolean);
 		typeName = value.getReferenceTypeName();
 		assertEquals("boolean or boolean : wrong type : ", "boolean", typeName);
 		booleanValue = ((IJavaPrimitiveValue)value).getBooleanValue();
-		assertEquals("boolean or boolean : wrong result : ", yBooleanValue | xBooleanValue, booleanValue);
+		assertEquals("boolean or boolean : wrong result : ", yBooleanValue || xBooleanValue, booleanValue);
 
 		value = eval(yBoolean + orOp + yBoolean);
 		typeName = value.getReferenceTypeName();
 		assertEquals("boolean or boolean : wrong type : ", "boolean", typeName);
 		booleanValue = ((IJavaPrimitiveValue)value).getBooleanValue();
-		assertEquals("boolean or boolean : wrong result : ", yBooleanValue | yBooleanValue, booleanValue);
+		assertEquals("boolean or boolean : wrong result : ", yBooleanValue || yBooleanValue, booleanValue);
 		} finally {
 		end();
 		}
@@ -72,25 +72,25 @@
 		String typeName = value.getReferenceTypeName();
 		assertEquals("boolean and boolean : wrong type : ", "boolean", typeName);
 		boolean booleanValue = ((IJavaPrimitiveValue)value).getBooleanValue();
-		assertEquals("boolean and boolean : wrong result : ", xBooleanValue & xBooleanValue, booleanValue);
+		assertEquals("boolean and boolean : wrong result : ", xBooleanValue && xBooleanValue, booleanValue);
 
 		value = eval(xBoolean + andOp + yBoolean);
 		typeName = value.getReferenceTypeName();
 		assertEquals("boolean and boolean : wrong type : ", "boolean", typeName);
 		booleanValue = ((IJavaPrimitiveValue)value).getBooleanValue();
-		assertEquals("boolean and boolean : wrong result : ", xBooleanValue & yBooleanValue, booleanValue);
+		assertEquals("boolean and boolean : wrong result : ", xBooleanValue && yBooleanValue, booleanValue);
 
 		value = eval(yBoolean + andOp + xBoolean);
 		typeName = value.getReferenceTypeName();
 		assertEquals("boolean and boolean : wrong type : ", "boolean", typeName);
 		booleanValue = ((IJavaPrimitiveValue)value).getBooleanValue();
-		assertEquals("boolean and boolean : wrong result : ", yBooleanValue & xBooleanValue, booleanValue);
+		assertEquals("boolean and boolean : wrong result : ", yBooleanValue && xBooleanValue, booleanValue);
 
 		value = eval(yBoolean + andOp + yBoolean);
 		typeName = value.getReferenceTypeName();
 		assertEquals("boolean and boolean : wrong type : ", "boolean", typeName);
 		booleanValue = ((IJavaPrimitiveValue)value).getBooleanValue();
-		assertEquals("boolean and boolean : wrong result : ", yBooleanValue & yBooleanValue, booleanValue);
+		assertEquals("boolean and boolean : wrong result : ", yBooleanValue && yBooleanValue, booleanValue);
 		} finally {
 		end();
 		}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/BreakpointMarkerUpdater.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/BreakpointMarkerUpdater.java
index afb621c..d567b8f 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/BreakpointMarkerUpdater.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/BreakpointMarkerUpdater.java
@@ -134,7 +134,7 @@
 			}
 			//if the line info is a valid location with an invalid line number,
 			//a line breakpoint must be removed
-			if(isLineBreakpoint(marker) & line == -1) {
+			if(isLineBreakpoint(marker) && line == -1) {
 				return false;
 			}
 			MarkerUtilities.setLineNumber(marker, line);
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/ExpressionInformationControlCreator.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/ExpressionInformationControlCreator.java
index b1ae6ee..3262c54 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/ExpressionInformationControlCreator.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/ExpressionInformationControlCreator.java
@@ -225,7 +225,7 @@
 		private IDialogSettings getDialogSettings(boolean create) {
 			IDialogSettings settings = JDIDebugUIPlugin.getDefault().getDialogSettings();
 			IDialogSettings section = settings.getSection(this.getClass().getName());
-			if (section == null & create) {
+			if (section == null && create) {
 				section = settings.addNewSection(this.getClass().getName());
 			}
 			return section;
diff --git a/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/BinaryBasedSourceGenerator.java b/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/BinaryBasedSourceGenerator.java
index 54fea75..b6d42fe 100644
--- a/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/BinaryBasedSourceGenerator.java
+++ b/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/BinaryBasedSourceGenerator.java
@@ -359,7 +359,7 @@
 			}
 		}
 
-		if (isAnonymousType & hasEnclosingInstance) {
+		if (isAnonymousType && hasEnclosingInstance) {
 			source.append("};\n"); //$NON-NLS-1$
 		}