fixed and added test for:

generate @return {type} based on a return statement. Defaults to
"Object" but will be a String,Number or boolean if it detects that.
Will not generate @return if there is no return statement with a value
in the function.
diff --git a/tests/org.eclipse.dltk.javascript.core.tests/src/org/eclipse/dltk/javascript/core/tests/structure/StructureParserTests.java b/tests/org.eclipse.dltk.javascript.core.tests/src/org/eclipse/dltk/javascript/core/tests/structure/StructureParserTests.java
index 5eb5845..e282b9b 100644
--- a/tests/org.eclipse.dltk.javascript.core.tests/src/org/eclipse/dltk/javascript/core/tests/structure/StructureParserTests.java
+++ b/tests/org.eclipse.dltk.javascript.core.tests/src/org/eclipse/dltk/javascript/core/tests/structure/StructureParserTests.java
@@ -203,7 +203,7 @@
 			code.add("    }");
 			code.add("  }");
 			code.add("}");
-			assertEquals(new Root(new Method("a")), parse(code.toString()));
+			assertEquals(new Root(new Method("a").setType("Object")), parse(code.toString()));
 		}
 		{
 			final StringList code = new StringList();
diff --git a/tests/org.eclipse.dltk.javascript.ui.tests/src/org/eclipse/dltk/javascript/ui/tests/autoedit/JSDocEditorTests.java b/tests/org.eclipse.dltk.javascript.ui.tests/src/org/eclipse/dltk/javascript/ui/tests/autoedit/JSDocEditorTests.java
index 81afc32..266fd59 100644
--- a/tests/org.eclipse.dltk.javascript.ui.tests/src/org/eclipse/dltk/javascript/ui/tests/autoedit/JSDocEditorTests.java
+++ b/tests/org.eclipse.dltk.javascript.ui.tests/src/org/eclipse/dltk/javascript/ui/tests/autoedit/JSDocEditorTests.java
@@ -50,6 +50,19 @@
 		assertEquals(project.getFileContentsAsString("src/file1.txt"),
 				document.get());
 	}
+	
+	@Test
+	public void functionGeneratedTagsWithReturn() throws BadLocationException,
+			CoreException {
+		final ISourceModule module = checkNotNull(project.getSourceModule(
+				"src", "file4.js"));
+		final IEditorPart part = checkNotNull(DLTKUIPlugin.openInEditor(module));
+		final IDocument document = UICompletionUtil.on(part).getDocument();
+		execute(document, createCommand(ENTER, getEndOfLineOffset(document, 0)));
+		assertEquals(project.getFileContentsAsString("src/file4.txt"),
+				document.get());
+	}
+
 
 	@Test
 	public void functionInObjectLiteralGeneratedTags()
@@ -62,5 +75,17 @@
 		assertEquals(project.getFileContentsAsString("src/file2.txt"),
 				document.get());
 	}
+	
+	@Test
+	public void functionInObjectLiteralGeneratedTagsWithReturn()
+			throws BadLocationException, CoreException {
+		final ISourceModule module = checkNotNull(project.getSourceModule(
+				"src", "file3.js"));
+		final IEditorPart part = checkNotNull(DLTKUIPlugin.openInEditor(module));
+		final IDocument document = UICompletionUtil.on(part).getDocument();
+		execute(document, createCommand(ENTER, getEndOfLineOffset(document, 1)));
+		assertEquals(project.getFileContentsAsString("src/file3.txt"),
+				document.get());
+	}
 
 }
diff --git a/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file1.txt b/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file1.txt
index 8f8be1d..01bf0dd 100644
--- a/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file1.txt
+++ b/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file1.txt
@@ -1,7 +1,6 @@
 /**
  * @param {Object} x
  * @param {Object} y
- * @return {Object}
  */
 function test(x, y) {
 }
diff --git a/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file2.txt b/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file2.txt
index dad99cf..6c00a1c 100644
--- a/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file2.txt
+++ b/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file2.txt
@@ -2,7 +2,6 @@
 	/**
 	 * @param {Object} x
 	 * @param {Object} y
-	 * @return {Object}
 	 */
 	draw: function (x, y) {
 	}
diff --git a/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file3.js b/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file3.js
new file mode 100644
index 0000000..7e6ec04
--- /dev/null
+++ b/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file3.js
@@ -0,0 +1,6 @@
+var figure = {
+	/**
+	draw: function (x, y) {
+		return "";
+	}
+}
diff --git a/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file3.txt b/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file3.txt
new file mode 100644
index 0000000..b89268b
--- /dev/null
+++ b/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file3.txt
@@ -0,0 +1,10 @@
+var figure = {
+	/**
+	 * @param {Object} x
+	 * @param {Object} y
+	 * @return {String}
+	 */
+	draw: function (x, y) {
+		return "";
+	}
+}
diff --git a/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file4.js b/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file4.js
new file mode 100644
index 0000000..6959ac8
--- /dev/null
+++ b/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file4.js
@@ -0,0 +1,4 @@
+/**
+function test(x, y) {
+	 return true;
+}
diff --git a/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file4.txt b/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file4.txt
new file mode 100644
index 0000000..6f274ce
--- /dev/null
+++ b/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file4.txt
@@ -0,0 +1,8 @@
+/**
+ * @param {Object} x
+ * @param {Object} y
+ * @return {Boolean}
+ */
+function test(x, y) {
+	 return true;
+}