function _computeAnchorArea(info){
			if (info.anchorArea){
				if (info.anchorArea.top && info.anchorArea.left && info.anchorArea.height && info.anchorArea.width){
					return info.anchorArea;
				}
			}
			
			if (info.context){
				if (info.context.offsetStart && info.context.offsetEnd){
					// The full text content of the editor is given to the plug-in hover service, so we must adjust the offsets
					// for the projection model as folded comments will change the offsets/coordinates in the displayed editor
					var mappedStart = this.mapOffset(info.context.offsetStart, false);
					var mappedEnd = this.mapOffset(info.context.offsetEnd, false);
					return this._computeRectangleFromOffset(mappedStart, mappedEnd);
				}
				
				if (info.context.offset >= 0){
					// The provided offset is based on the full text content, not the projection model
					// Adjust the offset before finding the closest enclosing word
					var mappedOffset = this.mapOffset(info.context.offset, false);
					var end = this._view.getNextOffset(mappedOffset, { unit: "wordend", count: 0}); //$NON-NLS-0$
					var start = this._view.getNextOffset(end, { unit: "word", count: -1}); //$NON-NLS-0$
					return this._computeRectangleFromOffset(start, end);
				}
			}
			
			return {top: 0, left: 0, height: 0, width: 0};
		}
/**
		 * @name _computeAnchorArea
		 * @description Computes and returns the rectangle that the tooltip is anchored to.  For example the anchor for an annotation 
		 * 				may be its text range.
		 * @function
		 * @private
		 * @param info {Object} the info object passed by the caller.
		 * @returns returns the computed rectangle anchor area
		 */
@name _computeAnchorArea
@description Computes and returns the rectangle that the tooltip is anchored to.  For example the anchor for an annotation
may be its text range.
@function
@private
@param info {Object} the info object passed by the caller.
@returns returns the computed rectangle anchor area
@name _computeAnchorArea @description Computes and returns the rectangle that the tooltip is anchored to . For example the anchor for an annotation may be its text range . @function @private @param info { Object } the info object passed by the caller . @returns returns the computed rectangle anchor area
function _computeAnchorArea(info){
			if (info.anchorArea){
				if (info.anchorArea.top && info.anchorArea.left && info.anchorArea.height && info.anchorArea.width){
					return info.anchorArea;
				}
			}
			if (info.context){
				if (info.context.offsetStart && info.context.offsetEnd){
					var mappedStart = this.mapOffset(info.context.offsetStart, false);
					var mappedEnd = this.mapOffset(info.context.offsetEnd, false);
					return this._computeRectangleFromOffset(mappedStart, mappedEnd);
				}
				if (info.context.offset >= 0){
					var mappedOffset = this.mapOffset(info.context.offset, false);
					var end = this._view.getNextOffset(mappedOffset, { unit: "wordend", count: 0}); 
					var start = this._view.getNextOffset(end, { unit: "word", count: -1}); 
					return this._computeRectangleFromOffset(start, end);
				}
			}
			return {top: 0, left: 0, height: 0, width: 0};
		}
function _computeAnchorArea ( info ) { if ( info . anchorArea ) { if ( info . anchorArea . top && info . anchorArea . left && info . anchorArea . height && info . anchorArea . width ) { return info . anchorArea ; } } if ( info . context ) { if ( info . context . offsetStart && info . context . offsetEnd ) { var mappedStart = this . mapOffset ( info . context . offsetStart , false ) ; var mappedEnd = this . mapOffset ( info . context . offsetEnd , false ) ; return this . _computeRectangleFromOffset ( mappedStart , mappedEnd ) ; } if ( info . context . offset >= 0 ) { var mappedOffset = this . mapOffset ( info . context . offset , false ) ; var end = this . _view . getNextOffset ( mappedOffset , { unit : "wordend" , count : 0 } ) ; var start = this . _view . getNextOffset ( end , { unit : "word" , count : - 1 } ) ; return this . _computeRectangleFromOffset ( start , end ) ; } } return { top : 0 , left : 0 , height : 0 , width : 0 } ; }
@name _computeAnchorArea
 @description Computes and returns the rectangle that the tooltip is anchored to.
@name _computeAnchorArea @description Computes and returns the rectangle that the tooltip is anchored to .
// The full text content of the editor is given to the plug-in hover service, so we must adjust the offsets // for the projection model as folded comments will change the offsets/coordinates in the displayed editor // The provided offset is based on the full text content, not the projection model // Adjust the offset before finding the closest enclosing word //$NON-NLS-0$ //$NON-NLS-0$