function checkDefineProperty( node ) {
		var callee;
		var parent;

		if ( node ) {
			parent = node.parent;
			if ( parent ) {
				parent = parent.parent;
			}
			if ( parent ) {
				parent = parent.parent;
			}
			if ( parent ) {
				callee = parent.callee;
				if (
					callee && callee.property &&
					callee.property.name === 'defineProperty'
				) {
					return extractThrowsAnnotations( parent.parent );
				}
				if ( callee && callee.name === 'defineProperty' ) {
					return extractThrowsAnnotations( parent.parent );
				}
			}
		}
		return null;
	}
Checks whether a function node is assigned as a value to a `Object.defineProperty` expression.

@private
@param {ASTNode} node - function node
@returns {(Array|null)} array of error annotation types attached to the object expression if applicable, `null` otherwise