[278904] [parser] JSDoc range not set on variables (2)
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.compiler/src/org/eclipse/wst/jsdt/core/tests/compiler/regression/InferTypesTests.java b/tests/org.eclipse.wst.jsdt.core.tests.compiler/src/org/eclipse/wst/jsdt/core/tests/compiler/regression/InferTypesTests.java
index 5cf78e8..6e64c3d 100644
--- a/tests/org.eclipse.wst.jsdt.core.tests.compiler/src/org/eclipse/wst/jsdt/core/tests/compiler/regression/InferTypesTests.java
+++ b/tests/org.eclipse.wst.jsdt.core.tests.compiler/src/org/eclipse/wst/jsdt/core/tests/compiler/regression/InferTypesTests.java
@@ -966,6 +966,76 @@
 				
 			 );
 		}		
+		public void test099a() {
+			// BUG278904
+			CompilationUnitDeclaration declaration = this.runInferTest(
+				"function MyType(){}"+
+				"MyType.prototype = new Object();\n"+
+				"/**\n"+
+				"  * Property length\n"+
+				"  * @type    Number\n"+
+				"  * @memberOf   MyType\n"+
+				"  * @see     MyType\n"+
+				"  * @since   WTP 3.2.2\n"+
+				" */\n"+  
+				"MyType.prototype.length = \"\";\n"+
+				"MyType.prototype.name = \"\";\n",
+				"X.js",
+				"class MyType extends Object{\n  Number length;\n  String name;\n  MyType()\n}\n",
+				getDefaultOptions()
+				
+			 );
+		}		
+		public void test099b() {
+			// BUG278904
+			CompilationUnitDeclaration declaration = this.runInferTest(
+				"function MyType(){}"+
+				"MyType.prototype = new Object();\n"+
+				"/**\n"+
+				"  * Property length\n"+
+				"  * @type    Number\n"+
+				"  * @memberOf   MyType\n"+
+				"  * @see     MyType\n"+
+				"  * @since   WTP 3.2.2\n"+
+				" */\n"+  
+				"MyType.prototype.length = \"\";\n"+
+				"MyType.prototype.name = \"\";\n"+
+				"MyType.prototype.date = new Date();\n",
+				"X.js",
+				"class MyType extends Object{\n  Number length;\n  String name;\n  Date date;\n  MyType()\n}\n",
+				getDefaultOptions()
+				
+			 );
+		}		
+		public void test099c() {
+			// BUG278904
+			CompilationUnitDeclaration declaration = this.runInferTest(
+				"function MyType(){}"+
+				"MyType.prototype = new Object();\n"+
+				"/**\n"+
+				"  * Property length\n"+
+				"  * @type    String\n"+
+				"  * @memberOf   MyType\n"+
+				"  * @see     MyType\n"+
+				"  * @since   WTP 3.2.2\n"+
+				" */\n"+  
+				"MyType.prototype.time = 1;\n"+
+				"/**\n"+
+				"  * Property length\n"+
+				"  * @type    Number\n"+
+				"  * @memberOf   MyType\n"+
+				"  * @see     MyType\n"+
+				"  * @since   WTP 3.2.2\n"+
+				" */\n"+  
+				"MyType.prototype.length = \"\";\n"+
+				"MyType.prototype.name = \"\";\n"+
+				"MyType.prototype.date = new Date();\n",
+				"X.js",
+				"class MyType extends Object{\n  String time;\n  Number length;\n  String name;\n  Date date;\n  MyType()\n}\n",
+				getDefaultOptions()
+				
+			 );
+		}		
 		public void test100() {
 			// BUG278904
 			CompilationUnitDeclaration declaration = this.runInferTest(
@@ -1019,4 +1089,28 @@
 				
 			 );
 		}		
+		public void test103() {
+			CompilationUnitDeclaration declaration = this.runInferTest(
+				"MyTypeInner = {\n"+
+				"/**\n"+
+				"  * @memberOf   MyTypeInner\n"+
+				" */\n"+  
+				"length: 5\n"+
+				"};\n"+
+				"MyType = {\n"+
+				"/**\n"+
+				"  * Property events\n"+
+				"  * @memberOf   MyType\n"+
+				"  * @see     MyType\n"+
+				"  * @type    MyTypeInner\n"+
+				"  * @since   WTP 3.2.2\n"+
+				" */\n"+  
+				"events : \"\"\n"+
+				"};",
+				"X.js",
+				"class MyTypeInner extends Object{\n  Number length;\n}\nclass MyType extends Object{\n  MyTypeInner events;\n}\n",
+				getDefaultOptions()
+				
+			 );
+		}
 }