| Index: Source/devtools/scripts/jsdoc-validator/src/org/chromium/devtools/jsdoc/checks/ContextTrackingValidationCheck.java
|
| diff --git a/Source/devtools/scripts/jsdoc-validator/src/org/chromium/devtools/jsdoc/checks/ContextTrackingValidationCheck.java b/Source/devtools/scripts/jsdoc-validator/src/org/chromium/devtools/jsdoc/checks/ContextTrackingValidationCheck.java
|
| index 295772ed5db856b5d2ea407552adad6a9eac0575..f9c79760095f90b16bafd0c103ddc07b49ed23a1 100644
|
| --- a/Source/devtools/scripts/jsdoc-validator/src/org/chromium/devtools/jsdoc/checks/ContextTrackingValidationCheck.java
|
| +++ b/Source/devtools/scripts/jsdoc-validator/src/org/chromium/devtools/jsdoc/checks/ContextTrackingValidationCheck.java
|
| @@ -1,5 +1,6 @@
|
| package org.chromium.devtools.jsdoc.checks;
|
|
|
| +import com.google.javascript.jscomp.NodeUtil;
|
| import com.google.javascript.rhino.JSDocInfo;
|
| import com.google.javascript.rhino.Node;
|
| import com.google.javascript.rhino.Token;
|
| @@ -8,7 +9,9 @@ import org.chromium.devtools.jsdoc.ValidationCheck;
|
| import org.chromium.devtools.jsdoc.ValidatorContext;
|
|
|
| import java.util.ArrayList;
|
| +import java.util.HashSet;
|
| import java.util.List;
|
| +import java.util.Set;
|
|
|
| public class ContextTrackingValidationCheck extends ValidationCheck {
|
|
|
| @@ -22,6 +25,7 @@ public class ContextTrackingValidationCheck extends ValidationCheck {
|
| registerClient(new ProtoFollowsExtendsChecker());
|
| registerClient(new MethodAnnotationChecker());
|
| registerClient(new FunctionReceiverChecker());
|
| + registerClient(new DisallowedGlobalPropertyChecker());
|
| }
|
|
|
| @Override
|
| @@ -83,6 +87,7 @@ public class ContextTrackingValidationCheck extends ValidationCheck {
|
| FunctionRecord functionRecord = new FunctionRecord(
|
| node,
|
| functionName,
|
| + getFunctionParameterNames(node),
|
| parentType,
|
| state.getCurrentFunctionRecord());
|
| state.pushFunctionRecord(functionRecord);
|
| @@ -128,6 +133,17 @@ public class ContextTrackingValidationCheck extends ValidationCheck {
|
| return getNodeText(node);
|
| }
|
|
|
| + private Set<String> getFunctionParameterNames(Node functionNode) {
|
| + Set<String> parameterNames = new HashSet<String>();
|
| + Node parametersNode = NodeUtil.getFunctionParameters(functionNode);
|
| + for (int i = 0, childCount = parametersNode.getChildCount(); i < childCount; ++i) {
|
| + Node paramNode = parametersNode.getChildAtIndex(i);
|
| + String paramName = state.getContext().getNodeText(paramNode);
|
| + parameterNames.add(paramName);
|
| + }
|
| + return parameterNames;
|
| + }
|
| +
|
| private boolean rememberTypeRecordIfNeeded(String typeName, JSDocInfo info) {
|
| if (info == null) {
|
| return false;
|
|
|