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;
registerClient(new ProtoFollowsExtendsChecker());
registerClient(new MethodAnnotationChecker());
registerClient(new FunctionReceiverChecker());
+ registerClient(new DisallowedGlobalPropertiesChecker());
}
@Override
FunctionRecord functionRecord = new FunctionRecord(
node,
functionName,
+ getFunctionParameterNames(node),
parentType,
state.getCurrentFunctionRecord());
state.pushFunctionRecord(functionRecord);
return getNodeText(node);
}
+ private List<String> getFunctionParameterNames(Node functionNode) {
+ List<String> parameterNames = new ArrayList<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;