function checkComment( comment ) {
	var matches;
	var elem;
	var node;
	var ast;
	var i;

	matches = comment.value.match( RE_ANNOTATION );
	if ( matches ) {
		node = matches[ 2 ];
		if ( !isString( node ) ) {
			return null;
		}
		// Replace dots used to skip over array elements:
		node = replace( node, RE_DOTS, '' );

		node = replace( node, '[...]', '[]' );
		node = replace( node, '{...}', '{}' );

		// Replace `~` characters used to indicate rounded values:
		node = replace( node, '~', '' );

		// Replace any type identifiers such as <Float64Array>:
		node = replace( node, RE_TYPE_IDENTIFIER, '' );

		if ( node.length === 0 ) {
			return null;
		}
		try {
			ast = parseExpressionAt( node, 0, AOPTS );
		} catch ( err ) {
			debug( 'Encountered an error during parsing: %s', err.message );
			return null;
		}
		if ( ast && ast.type === 'ArrayExpression' ) {
			for ( i = 0; i < ast.elements.length; i++ ) {
				elem = ast.elements[ i ];
				if ( elem && elem.type === 'ObjectExpression' ) {
					if ( !hasQuotedKeys( elem ) ) {
						return 'Use single quotes around property names';
					}
				}
			}
		}
		if ( ast && ast.type === 'ObjectExpression' ) {
			if ( !hasQuotedKeys( ast ) ) {
				return 'Use single quotes around property names';
			}
		}
	}
	return null;
}
Checks whether a comment is a return annotation and, if so, whether any property names in it are quoted using single quotes.

@private
@param {string} comment - comment to examine
@returns {(string|null)} error message or null