Skip to content

Commit 03fb30b

Browse files
tbreisacherblickly
tbreisacher
authored andcommitted
Allow function JSDoc on computed methods.
Fixes #1126 ------------- Created by MOE: http://code.google.com/p/moe-java MOE_MIGRATED_REVID=102679854
1 parent 0adcdbf commit 03fb30b

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

src/com/google/javascript/jscomp/CheckJSDoc.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@ private void validateFunctionJsDoc(NodeTraversal t, Node n, JSDocInfo info) {
152152
case Token.SETTER_DEF:
153153
case Token.MEMBER_FUNCTION_DEF:
154154
case Token.STRING_KEY:
155+
case Token.COMPUTED_PROP:
155156
case Token.EXPORT:
156157
return;
157158
case Token.GETELEM:

test/com/google/javascript/jscomp/CheckJsDocTest.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,22 @@ public void testInvalidClassJsdoc() {
6464
DISALLOWED_MEMBER_JSDOC);
6565
}
6666

67+
public void testFunctionJSDocOnMethods() {
68+
testSameEs6("class Foo { /** @return {?} */ bar() {} }");
69+
testSameEs6("class Foo { /** @return {?} */ get bar() {} }");
70+
testSameEs6("class Foo { /** @param {?} x */ set bar(x) {} }");
71+
72+
testSameEs6("class Foo { /** @return {?} */ [bar]() {} }");
73+
testSameEs6("class Foo { /** @return {?} */ get [bar]() {} }");
74+
testSameEs6("class Foo { /** @return {?} x */ set [bar](x) {} }");
75+
}
76+
77+
public void testMethodsOnObjectLiterals() {
78+
testSameEs6("var x = { /** @return {?} */ foo() {} };");
79+
testSameEs6("var x = { /** @return {?} */ [foo]() {} };");
80+
testSameEs6("var x = { /** @return {?} */ foo: someFn };");
81+
testSameEs6("var x = { /** @return {?} */ [foo]: someFn };");
82+
}
6783

6884
public void testExposeDeprecated() {
6985
testWarning("/** @expose */ var x = 0;", ANNOTATION_DEPRECATED);

0 commit comments

Comments
 (0)