Removed UI.
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / ui / text / template / DeclarationEngine.java
diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/template/DeclarationEngine.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/template/DeclarationEngine.java
deleted file mode 100644 (file)
index f393c18..0000000
+++ /dev/null
@@ -1,298 +0,0 @@
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-package net.sourceforge.phpdt.internal.ui.text.template;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.SortedMap;
-
-import net.sourceforge.phpdt.core.ICompilationUnit;
-import net.sourceforge.phpdt.core.compiler.ITerminalSymbols;
-import net.sourceforge.phpdt.internal.corext.template.php.CompilationUnitContextType;
-import net.sourceforge.phpdt.internal.corext.template.php.JavaContext;
-import net.sourceforge.phpdt.internal.corext.template.php.JavaContextType;
-import net.sourceforge.phpdt.internal.ui.text.java.IPHPCompletionProposal;
-import net.sourceforge.phpeclipse.PHPeclipsePlugin;
-import net.sourceforge.phpeclipse.builder.PHPIdentifierLocation;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.Region;
-import org.eclipse.swt.graphics.Point;
-
-public class DeclarationEngine {
-
-       /** The context type. */
-       private JavaContextType fContextType;
-
-       /** The result proposals. */
-       private ArrayList fProposals = new ArrayList();
-
-       /** Token determines last which declarations are allowed for proposal */
-       private int fLastSignificantToken;
-
-       private IProject fProject;
-
-       // private IFile fFile;
-       private String fFileName;
-
-       /**
-        * Creates the template engine for a particular context type. See
-        * <code>TemplateContext</code> for supported context types.
-        */
-       public DeclarationEngine(IProject project, JavaContextType contextType,
-                       int lastSignificantToken, IFile file) {
-               // Assert.isNotNull(contextType);
-               fProject = project;
-               fContextType = contextType;
-
-               fLastSignificantToken = lastSignificantToken;
-               // fFile = file;
-               if (file != null) {
-                       fFileName = file.getProjectRelativePath().toString();
-               } else {
-                       fFileName = "";
-               }
-       }
-
-       /**
-        * Empties the collector.
-        * 
-        * @param viewer
-        *            the text viewer
-        * @param unit
-        *            the compilation unit (may be <code>null</code>)
-        */
-       public void reset() {
-               fProposals.clear();
-       }
-
-       /**
-        * Returns the array of matching templates.
-        */
-       public IPHPCompletionProposal[] getResults() {
-               return (IPHPCompletionProposal[]) fProposals
-                               .toArray(new IPHPCompletionProposal[fProposals.size()]);
-       }
-
-       /**
-        * Inspects the context of the compilation unit around
-        * <code>completionPosition</code> and feeds the collector with proposals.
-        * 
-        * @param viewer
-        *            the text viewer
-        * @param completionPosition
-        *            the context position in the document of the text viewer
-        * @param compilationUnit
-        *            the compilation unit (may be <code>null</code>)
-        */
-       public void completeObject(ITextViewer viewer, int completionPosition,
-                       SortedMap map, ICompilationUnit compilationUnit) {
-               IDocument document = viewer.getDocument();
-
-               if (!(fContextType instanceof CompilationUnitContextType))
-                       return;
-
-               Point selection = viewer.getSelectedRange();
-
-               // remember selected text
-               String selectedText = null;
-
-               if (selection.y != 0) {
-                       try {
-                               selectedText = document.get(selection.x, selection.y);
-                       } catch (BadLocationException e) {
-                       }
-               }
-
-               JavaContext context = (JavaContext) fContextType.createContext(
-                               document, completionPosition, selection.y, compilationUnit);
-               context.setVariable("selection", selectedText); //$NON-NLS-1$
-
-               int start = context.getStart();
-               int end = context.getEnd();
-               String prefix = context.getKey();
-               IRegion region = new Region(start, end - start);
-
-               String identifier = null;
-
-               SortedMap subMap = map.subMap(prefix, prefix + '\255');
-               Iterator iter = subMap.keySet().iterator();
-               PHPIdentifierLocation location;
-               ArrayList list;
-               int maxProposals = PHPeclipsePlugin.MAX_PROPOSALS;
-               while (iter.hasNext()) {
-                       identifier = (String) iter.next();
-                       if (context.canEvaluate(identifier)) {
-                               list = (ArrayList) subMap.get(identifier);
-                               for (int i = 0; i < list.size(); i++) {
-                                       location = (PHPIdentifierLocation) list.get(i);
-                                       int type = location.getType();
-                                       switch (fLastSignificantToken) {
-                                       case ITerminalSymbols.TokenNameMINUS_GREATER:
-                                               if (type != PHPIdentifierLocation.METHOD
-                                                               && type != PHPIdentifierLocation.VARIABLE) {
-                                                       continue; // for loop
-                                               }
-                                               break;
-                                       case ITerminalSymbols.TokenNameVariable:
-                                               if (type != PHPIdentifierLocation.METHOD
-                                                               && type != PHPIdentifierLocation.VARIABLE) {
-                                                       continue; // for loop
-                                               }
-                                               // check all filenames of the subclasses
-                                               // if (fFileName.equals(location.getFilename())) {
-                                               // continue; // for loop
-                                               // }
-                                               break;
-                                       case ITerminalSymbols.TokenNamethis_PHP_COMPLETION:
-                                               if (type != PHPIdentifierLocation.METHOD
-                                                               && type != PHPIdentifierLocation.VARIABLE) {
-                                                       continue; // for loop
-                                               }
-                                               // check all filenames of the subclasses
-                                               // if (!fFileName.equals(location.getFilename())) {
-                                               // continue; // for loop
-                                               // }
-                                               break;
-                                       case ITerminalSymbols.TokenNamenew:
-                                               if (type != PHPIdentifierLocation.CLASS
-                                                               && type != PHPIdentifierLocation.CONSTRUCTOR) {
-                                                       continue; // for loop
-                                               }
-                                               break;
-                                       default:
-                                               if (type == PHPIdentifierLocation.METHOD
-                                                               || type == PHPIdentifierLocation.CONSTRUCTOR
-                                                               || type == PHPIdentifierLocation.VARIABLE) {
-                                                       continue; // for loop
-                                               }
-                                       }
-                                       if (maxProposals-- < 0) {
-                                               return;
-                                       }
-                                       fProposals.add(new DeclarationProposal(fProject,
-                                                       identifier, location, context, region, viewer));
-                               }
-                       }
-               }
-
-       }
-
-       /**
-        * Inspects the context of the compilation unit around
-        * <code>completionPosition</code> and feeds the collector with proposals.
-        * 
-        * @param viewer
-        *            the text viewer
-        * @param completionPosition
-        *            the context position in the document of the text viewer
-        * @param compilationUnit
-        *            the compilation unit (may be <code>null</code>)
-        */
-       public void complete(ITextViewer viewer, int completionPosition,
-                       SortedMap map, ICompilationUnit compilationUnit) {
-               IDocument document = viewer.getDocument();
-
-               if (!(fContextType instanceof CompilationUnitContextType))
-                       return;
-
-               Point selection = viewer.getSelectedRange();
-
-               // remember selected text
-               String selectedText = null;
-
-               if (selection.y != 0) {
-                       try {
-                               selectedText = document.get(selection.x, selection.y);
-                       } catch (BadLocationException e) {
-                       }
-               }
-
-               // ((CompilationUnitContextType)
-               // fContextType).setContextParameters(document, completionPosition,
-               // selection.y);
-
-               // CompilationUnitContext context = (CompilationUnitContext)
-               // fContextType.createContext();
-               JavaContext context = (JavaContext) fContextType.createContext(
-                               document, completionPosition, selection.y, compilationUnit);
-               context.setVariable("selection", selectedText); //$NON-NLS-1$
-
-               int start = context.getStart();
-               int end = context.getEnd();
-               String prefix = context.getKey();
-               IRegion region = new Region(start, end - start);
-
-               String identifier = null;
-
-               SortedMap subMap = map.subMap(prefix, prefix + '\255');
-               Iterator iter = subMap.keySet().iterator();
-               PHPIdentifierLocation location;
-               ArrayList list;
-               int maxProposals = PHPeclipsePlugin.MAX_PROPOSALS;
-               while (iter.hasNext()) {
-                       identifier = (String) iter.next();
-                       if (context.canEvaluate(identifier)) {
-                               list = (ArrayList) subMap.get(identifier);
-                               for (int i = 0; i < list.size(); i++) {
-                                       location = (PHPIdentifierLocation) list.get(i);
-                                       int type = location.getType();
-                                       switch (fLastSignificantToken) {
-                                       case ITerminalSymbols.TokenNameMINUS_GREATER:
-                                               if (type != PHPIdentifierLocation.METHOD
-                                                               && type != PHPIdentifierLocation.VARIABLE) {
-                                                       continue; // for loop
-                                               }
-                                               break;
-                                       case ITerminalSymbols.TokenNameVariable:
-                                               if (type != PHPIdentifierLocation.METHOD
-                                                               && type != PHPIdentifierLocation.VARIABLE) {
-                                                       continue; // for loop
-                                               }
-                                               // check all filenames of the subclasses
-                                               if (fFileName.equals(location.getFilename())) {
-                                                       continue; // for loop
-                                               }
-                                               break;
-                                       case ITerminalSymbols.TokenNamethis_PHP_COMPLETION:
-                                               if (type != PHPIdentifierLocation.METHOD
-                                                               && type != PHPIdentifierLocation.VARIABLE) {
-                                                       continue; // for loop
-                                               }
-                                               // check all filenames of the subclasses
-                                               if (!fFileName.equals(location.getFilename())) {
-                                                       continue; // for loop
-                                               }
-                                               break;
-                                       case ITerminalSymbols.TokenNamenew:
-                                               if (type != PHPIdentifierLocation.CLASS
-                                                               && type != PHPIdentifierLocation.CONSTRUCTOR) {
-                                                       continue; // for loop
-                                               }
-                                               break;
-                                       default:
-                                               if (type == PHPIdentifierLocation.METHOD
-                                                               || type == PHPIdentifierLocation.CONSTRUCTOR
-                                                               || type == PHPIdentifierLocation.VARIABLE) {
-                                                       continue; // for loop
-                                               }
-                                       }
-                                       if (maxProposals-- < 0) {
-                                               return;
-                                       }
-                                       fProposals.add(new DeclarationProposal(fProject,
-                                                       identifier, location, context, region, viewer));
-                               }
-                       }
-               }
-
-       }
-
-}