[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()
+
+ );
+ }
}