Refactory: remove unused classes, imports, fields and methods.
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / core / util / ASTNodeFinder.java
diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/core/util/ASTNodeFinder.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/core/util/ASTNodeFinder.java
deleted file mode 100644 (file)
index 4c10a87..0000000
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package net.sourceforge.phpdt.internal.core.util;
-
-import java.util.ArrayList;
-
-import net.sourceforge.phpdt.core.IField;
-import net.sourceforge.phpdt.core.IJavaElement;
-import net.sourceforge.phpdt.core.IMethod;
-import net.sourceforge.phpdt.core.IType;
-import net.sourceforge.phpdt.core.compiler.CharOperation;
-import net.sourceforge.phpdt.internal.compiler.ASTVisitor;
-import net.sourceforge.phpdt.internal.compiler.ast.AbstractMethodDeclaration;
-import net.sourceforge.phpdt.internal.compiler.ast.Argument;
-import net.sourceforge.phpdt.internal.compiler.ast.CompilationUnitDeclaration;
-import net.sourceforge.phpdt.internal.compiler.ast.FieldDeclaration;
-import net.sourceforge.phpdt.internal.compiler.ast.TypeDeclaration;
-import net.sourceforge.phpdt.internal.compiler.ast.TypeReference;
-import net.sourceforge.phpdt.internal.compiler.lookup.BlockScope;
-import net.sourceforge.phpdt.internal.compiler.lookup.ClassScope;
-
-/**
- * Finds an ASTNode given an IJavaElement in a CompilationUnitDeclaration
- */
-public class ASTNodeFinder {
-       private CompilationUnitDeclaration unit;
-
-       public ASTNodeFinder(CompilationUnitDeclaration unit) {
-               this.unit = unit;
-       }
-
-       /*
-        * Finds the FieldDeclaration in the given ast corresponding to the given
-        * field handle. Returns null if not found.
-        */
-       public FieldDeclaration findField(IField fieldHandle) {
-               TypeDeclaration typeDecl = findType((IType) fieldHandle.getParent());
-               if (typeDecl == null)
-                       return null;
-               FieldDeclaration[] fields = typeDecl.fields;
-               if (fields != null) {
-                       char[] fieldName = fieldHandle.getElementName().toCharArray();
-                       for (int i = 0, length = fields.length; i < length; i++) {
-                               FieldDeclaration field = fields[i];
-                               if (CharOperation.equals(fieldName, field.name)) {
-                                       return field;
-                               }
-                       }
-               }
-               return null;
-       }
-
-       /*
-        * Finds the Initializer in the given ast corresponding to the given
-        * initializer handle. Returns null if not found.
-        */
-       // public Initializer findInitializer(IInitializer initializerHandle) {
-       // TypeDeclaration typeDecl =
-       // findType((IType)initializerHandle.getParent());
-       // if (typeDecl == null) return null;
-       // FieldDeclaration[] fields = typeDecl.fields;
-       // if (fields != null) {
-       // int occurenceCount = ((JavaElement)initializerHandle).occurrenceCount;
-       // for (int i = 0, length = fields.length; i < length; i++) {
-       // FieldDeclaration field = fields[i];
-       // if (field instanceof Initializer && --occurenceCount == 0) {
-       // return (Initializer)field;
-       // }
-       // }
-       // }
-       // return null;
-       // }
-       /*
-        * Finds the AbstractMethodDeclaration in the given ast corresponding to the
-        * given method handle. Returns null if not found.
-        */
-       public AbstractMethodDeclaration findMethod(IMethod methodHandle) {
-               TypeDeclaration typeDecl = findType((IType) methodHandle.getParent());
-               if (typeDecl == null)
-                       return null;
-               AbstractMethodDeclaration[] methods = typeDecl.methods;
-               if (methods != null) {
-                       char[] selector = methodHandle.getElementName().toCharArray();
-                       String[] parameterTypeSignatures = methodHandle.getParameterTypes();
-                       int parameterCount = parameterTypeSignatures.length;
-                       nextMethod: for (int i = 0, length = methods.length; i < length; i++) {
-                               AbstractMethodDeclaration method = methods[i];
-                               if (CharOperation.equals(selector, method.selector)) {
-                                       Argument[] args = method.arguments;
-                                       int argsLength = args == null ? 0 : args.length;
-                                       if (argsLength == parameterCount) {
-                                               for (int j = 0; j < parameterCount; j++) {
-                                                       TypeReference type = args[j].type;
-                                                       String signature = Util.typeSignature(type);
-                                                       if (!signature.equals(parameterTypeSignatures[j])) {
-                                                               continue nextMethod;
-                                                       }
-                                               }
-                                               return method;
-                                       }
-                               }
-                       }
-               }
-               return null;
-       }
-
-       /*
-        * Finds the TypeDeclaration in the given ast corresponding to the given
-        * type handle. Returns null if not found.
-        */
-       public TypeDeclaration findType(IType typeHandle) {
-               IJavaElement parent = typeHandle.getParent();
-               final char[] typeName = typeHandle.getElementName().toCharArray();
-               // final int occurenceCount = ((SourceType)typeHandle).occurrenceCount;
-               final boolean findAnonymous = typeName.length == 0;
-               class Visitor extends ASTVisitor {
-                       TypeDeclaration result;
-
-                       int count = 0;
-
-                       public boolean visit(TypeDeclaration typeDeclaration,
-                                       BlockScope scope) {
-                               if (result != null)
-                                       return false;
-                               // if ((typeDeclaration.bits & ASTNode.IsAnonymousTypeMASK) !=
-                               // 0) {
-                               // if (findAnonymous && ++count == occurenceCount) {
-                               // result = typeDeclaration;
-                               // }
-                               // } else {
-                               if (!findAnonymous
-                                               && CharOperation.equals(typeName, typeDeclaration.name)) {
-                                       result = typeDeclaration;
-                               }
-                               // }
-                               return false; // visit only one level
-                       }
-               }
-               switch (parent.getElementType()) {
-               case IJavaElement.COMPILATION_UNIT:
-                       ArrayList types = this.unit.types;
-                       if (types != null) {
-                               for (int i = 0, length = types.size(); i < length; i++) {
-                                       TypeDeclaration type = (TypeDeclaration) types.get(i);// [i];
-                                       if (CharOperation.equals(typeName, type.name)) {
-                                               return type;
-                                       }
-                               }
-                       }
-                       break;
-               case IJavaElement.TYPE:
-                       TypeDeclaration parentDecl = findType((IType) parent);
-                       if (parentDecl == null)
-                               return null;
-                       // types = parentDecl.memberTypes;
-                       // if (types != null) {
-                       // for (int i = 0, length = types.length; i < length; i++) {
-                       // TypeDeclaration type = types[i];
-                       // if (CharOperation.equals(typeName, type.name)) {
-                       // return type;
-                       // }
-                       // }
-                       // }
-                       break;
-               case IJavaElement.FIELD:
-                       FieldDeclaration fieldDecl = findField((IField) parent);
-                       if (fieldDecl == null)
-                               return null;
-                       Visitor visitor = new Visitor();
-                       fieldDecl.traverse(visitor, null);
-                       return visitor.result;
-                       // case IJavaElement.INITIALIZER:
-                       // Initializer initializer = findInitializer((IInitializer)parent);
-                       // if (initializer == null) return null;
-                       // visitor = new Visitor();
-                       // initializer.traverse(visitor, null);
-                       // return visitor.result;
-               case IJavaElement.METHOD:
-                       AbstractMethodDeclaration methodDecl = findMethod((IMethod) parent);
-                       if (methodDecl == null)
-                               return null;
-                       visitor = new Visitor();
-                       methodDecl.traverse(visitor, (ClassScope) null);
-                       return visitor.result;
-               }
-               return null;
-       }
-}