Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(995)

Unified Diff: Source/devtools/scripts/jsdoc-validator/src/org/chromium/devtools/jsdoc/checks/AstUtil.java

Issue 319733002: DevTools: [JsDocValidator] Be smarter about function name and JSDoc detection (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/devtools/scripts/jsdoc-validator/src/org/chromium/devtools/jsdoc/checks/AstUtil.java
diff --git a/Source/devtools/scripts/jsdoc-validator/src/org/chromium/devtools/jsdoc/checks/AstUtil.java b/Source/devtools/scripts/jsdoc-validator/src/org/chromium/devtools/jsdoc/checks/AstUtil.java
index 503c9b180cc8892ae29e5b8befba72c1510d30da..42426c9777bc3e5d1a696035cea6d6822fa97733 100644
--- a/Source/devtools/scripts/jsdoc-validator/src/org/chromium/devtools/jsdoc/checks/AstUtil.java
+++ b/Source/devtools/scripts/jsdoc-validator/src/org/chromium/devtools/jsdoc/checks/AstUtil.java
@@ -24,21 +24,23 @@ public class AstUtil {
}
AstNode parentNode = functionNode.getParent();
- if (parentNode == null) {
- return null;
- }
-
- switch (parentNode.getType()) {
- case Token.COLON:
- return ((ObjectProperty) parentNode).getLeft();
- case Token.ASSIGN:
- Assignment assignment = (Assignment) parentNode;
- if (assignment.getRight() == functionNode) {
- return assignment.getLeft();
+ while (parentNode != null) {
+ switch (parentNode.getType()) {
+ case Token.COLON:
+ return ((ObjectProperty) parentNode).getLeft();
+ case Token.ASSIGN:
+ Assignment assignment = (Assignment) parentNode;
+ if (assignment.getRight() == functionNode &&
+ assignment.getLeft().getType() == Token.NAME) {
+ return assignment.getLeft();
+ }
+ parentNode = assignment.getParent();
+ break;
+ case Token.VAR:
+ return ((VariableInitializer) parentNode).getTarget();
+ default:
+ return null;
}
- break;
- case Token.VAR:
- return ((VariableInitializer) parentNode).getTarget();
}
return null;
@@ -76,21 +78,23 @@ public class AstUtil {
// reader.onloadend = function() {...}
AstNode parentNode = functionNode.getParent();
- if (parentNode == null) {
- return null;
- }
-
- switch (parentNode.getType()) {
- case Token.COLON:
- return ((ObjectProperty) parentNode).getLeft().getJsDocNode();
- case Token.ASSIGN:
- Assignment assignment = (Assignment) parentNode;
- if (assignment.getRight() == functionNode) {
- return assignment.getJsDocNode();
+ while (parentNode != null) {
+ switch (parentNode.getType()) {
+ case Token.COLON:
+ return ((ObjectProperty) parentNode).getLeft().getJsDocNode();
+ case Token.ASSIGN:
+ Assignment assignment = (Assignment) parentNode;
+ if (assignment.getJsDocNode() != null) {
+ return assignment.getJsDocNode();
+ } else {
+ parentNode = assignment.getParent();
+ }
+ break;
+ case Token.VAR:
+ return parentNode.getParent().getJsDocNode();
+ default:
+ return null;
}
- break;
- case Token.VAR:
- return parentNode.getParent().getJsDocNode();
}
return null;

Powered by Google App Engine
This is Rietveld 408576698