+ tests for xotcl
+ selection improvements
diff --git a/core/plugins/org.eclipse.dltk.core/ast/org/eclipse/dltk/ast/declarations/ModuleDeclaration.java b/core/plugins/org.eclipse.dltk.core/ast/org/eclipse/dltk/ast/declarations/ModuleDeclaration.java
index c49e431..27d395b 100644
--- a/core/plugins/org.eclipse.dltk.core/ast/org/eclipse/dltk/ast/declarations/ModuleDeclaration.java
+++ b/core/plugins/org.eclipse.dltk.core/ast/org/eclipse/dltk/ast/declarations/ModuleDeclaration.java
@@ -159,4 +159,8 @@
 	}
 	public void rebuildMethods() {
 	}
+
+	public void removeStatement(Statement node) {
+		this.body.removeStatement(node);
+	}
 }
diff --git a/core/plugins/org.eclipse.dltk.core/ast/org/eclipse/dltk/ast/statements/Block.java b/core/plugins/org.eclipse.dltk.core/ast/org/eclipse/dltk/ast/statements/Block.java
index 82c1c4b..bf3010d 100644
--- a/core/plugins/org.eclipse.dltk.core/ast/org/eclipse/dltk/ast/statements/Block.java
+++ b/core/plugins/org.eclipse.dltk.core/ast/org/eclipse/dltk/ast/statements/Block.java
@@ -80,6 +80,11 @@
 		output.formatPrint("");
 		output.dedent();
 	}
-	
-	
+
+	public void removeStatement(ASTNode node) {
+		if (node == null) {
+			throw new IllegalArgumentException();
+		}
+		statements.remove(node);
+	}
 }