function main( context ) {
	var source = context.getSourceCode();

	/**
	* Reports the error message.
	*
	* @private
	* @param {Object} loc - error location info
	* @param {string} msg - error message
	*/
	function report( loc, msg ) {
		context.report({
			'node': null,
			'message': msg,
			'loc': loc
		});
	}

	/**
	* Checks whether return annotations in the current program contain only quoted property names.
	*
	* @private
	* @param {ASTNode} node - node to examine
	*/
	function validate( node ) {
		var comments;
		var current;
		var msg;
		var i;

		comments = source.getAllComments( node );
		for ( i = 0; i < comments.length; i++ ) {
			current = comments[ i ];
			msg = checkComment( current );
			if ( msg ) {
				report( current.loc, msg );
			}
		}
	}

	return {
		'Program': validate
	};
}
Rule for validating that property names in return annotations are quoted using single quotes.

@param {Object} context - ESLint context
@returns {Object} validators