Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Copyright (c) 2000, 2005 IBM Corporation and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html Contributors: IBM Corporation - initial API and implementation /
 
 package org.eclipse.ant.internal.ui.editor;
 
 import java.util.List;
 
 
 public class OccurrencesFinder {
     
 	private AntModel fAntModel;
 	private AntEditor fEditor;
 	private int fOffset;
 	private IDocument fDocument;
 	
 	public OccurrencesFinder(AntEditor editorAntModel modelIDocument documentint offset) {
 		model;
 		editor;
 		document;
 		offset;
 	}
 	
 	public List perform() {
 		if ( == 0 ||  == null) {
 			return null;
 		}
 		
 		AntElementNode container.getNode(false);
 		if (container == null) {
 			return null;
 		}
 		IRegion region= XMLTextHover.getRegion(.getViewer(), );
 		if (region != null) {
 			if (!container.isRegionPotentialReference(region)) {
 				return null;
 			}
 		}
 		if (container.isFromDeclaration(region)) {
 			nodecontainer;
 		} else {
 			Object potentialNode.findTarget(region);
 			if (!(potentialNode instanceof AntElementNode)) {
 				return null;
 			} 
 			node= (AntElementNodepotentialNode;
 		}
 		String occurrencesIdentifiernode.getOccurrencesIdentifier();
 		if (occurrencesIdentifier == null) {
 			return null;
 		}
 		List nodesnew ArrayList(1);
         List usagesnew ArrayList();
         usages.add(node);
 		scanNodesForOccurrences(nodesusagesoccurrencesIdentifier);
 		String identifier;
 		try {
 			identifier.get(region.getOffset(), region.getLength());
 		} catch (BadLocationException e) {
 			return null;
 		}
         int lengthidentifier.length();
         if (length == 0) {
             return null;
         }
 		List positionsnew ArrayList(usages.size());
 		for (Iterator eachusages.iterator(); each.hasNext();) {
 			AntElementNode currentNode= (AntElementNode)each.next();
 			List offsetscurrentNode.computeIdentifierOffsets(identifier);
 			if (offsets != null) {
 				for (int i = 0; i < offsets.size(); i++) {
 					positions.add(new Position(((Integer)offsets.get(i)).intValue(), length));
 				}
 			}
 		}
 	
 		return positions;
 	}
 	
 	private void scanNodesForOccurrences(List nodesList usagesString identifier) {
 		Iterator iternodes.iterator();
 		while (iter.hasNext()) {
			AntElementNode node = (AntElementNodeiter.next();
			if (!usages.contains(node) && node.containsOccurrence(identifier)) {
				usages.add(node);	
			}
			if (node.hasChildren()) {
				scanNodesForOccurrences(node.getChildNodes(), usagesidentifier);
			}
		}
	}
New to GrepCode? Check out our FAQ X