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

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

Issue 137553005: DevTools: [JsDocValidator] Refactor JsDoc annotation checkers (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Limit the thread count by the number of validated files Created 6 years, 11 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 a85680b86f6827f49c961018c22f9598840b581b..b1bf28326be66809a3a60fd7de78303a1041f86c 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
@@ -4,9 +4,12 @@ import com.google.javascript.rhino.head.Token;
import com.google.javascript.rhino.head.ast.Assignment;
import com.google.javascript.rhino.head.ast.AstNode;
import com.google.javascript.rhino.head.ast.FunctionNode;
+import com.google.javascript.rhino.head.ast.ObjectProperty;
public class AstUtil {
+ static final String PROTOTYPE_SUFFIX = ".prototype";
eustas 2014/01/28 08:47:21 private?
apavlov 2014/01/28 10:40:17 Done.
+
static boolean hasParentOfType(AstNode node, int tokenType) {
AstNode parent = node.getParent();
if (parent == null) {
@@ -21,6 +24,10 @@ public class AstUtil {
return nameNode;
}
+ if (AstUtil.hasParentOfType(functionNode, Token.COLON)) {
+ return ((ObjectProperty) functionNode.getParent()).getLeft();
+ }
+
if (AstUtil.hasParentOfType(functionNode, Token.ASSIGN)) {
Assignment assignment = (Assignment) functionNode.getParent();
if (assignment.getRight() == functionNode) {
@@ -30,5 +37,21 @@ public class AstUtil {
return null;
}
+ static String getTypeNameFromPrototype(String value) {
+ return value.substring(0, value.length() - PROTOTYPE_SUFFIX.length());
+ }
+
+ static boolean isPrototypeName(String typeName) {
+ return typeName.endsWith(PROTOTYPE_SUFFIX);
+ }
+
+ static AstNode getAssignedTypeNameNode(Assignment assignment) {
+ AstNode typeNameNode = assignment.getLeft();
+ if (typeNameNode.getType() != Token.GETPROP && typeNameNode.getType() != Token.NAME) {
+ return null;
+ }
+ return typeNameNode;
+ }
+
private AstUtil() {}
}

Powered by Google App Engine
This is Rietveld 408576698