private void visitNamespacePropertyDeclaration(
Node declNode, Node recv, String pname) {
Preconditions.checkArgument(
declNode.isGetProp() || declNode.isStringKey());
Preconditions.checkArgument(currentScope.isNamespace(recv));
EnumType et = currentScope.getEnum(recv.getQualifiedName());
// If there is a reassignment to one of the enum's members, don't consider
// that a definition of a new property.
if (et != null && et.enumLiteralHasKey(pname)) {
return;
}
Namespace ns = currentScope.getNamespace(QualifiedName.fromNode(recv));
JSDocInfo jsdoc = NodeUtil.getBestJSDocInfo(declNode);
JSType propDeclType = getTypeAtPropDeclNode(declNode, jsdoc);