blob: fc8c85a8046cd24515f3725a543d5130a28ec7c3 [file] [log] [blame]
/*******************************************************************************
* 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.jdt.ui.tests.refactoring.infra;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import org.eclipse.core.resources.IResource;
import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jdt.core.IImportDeclaration;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.IMethod;
import org.eclipse.jdt.core.IPackageFragment;
import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jdt.internal.corext.util.JavaModelUtil;
public final class DebugUtils {
private DebugUtils(){
}
public static void dumpCharCharArray(String msg, char[][] o){
dump("DUMPING char[][]:" + msg); //$NON-NLS-1$
for (int i= 0; i < o.length; i++){
dump(new String(o[i]));
}
}
public static void dumpArray(String msg, Object[] refs){
System.out.println("DUMPING array: "+ msg); //$NON-NLS-1$
if (refs == null){
System.out.println("null"); //$NON-NLS-1$
return;
}
for (int i= 0; i < refs.length; i++)
System.out.println(refs[i].toString());
}
public static void dumpCollectionCollection(String msg, Collection c){
for (Iterator iter= c.iterator(); iter.hasNext(); ){
dumpCollection("", (List)iter.next()); //$NON-NLS-1$
}
}
public static void dumpCollection(String msg, Collection c){
System.out.println("DUMPING collection: "+ msg); //$NON-NLS-1$
if (c == null){
System.out.println("null"); //$NON-NLS-1$
return;
}
for (Iterator iter= c.iterator(); iter.hasNext(); ){
System.out.println(iter.next().toString());
}
}
public static void dumpIMethod(IMethod method){
try{
if (method == null){
System.out.println("DUMPING method: null"); //$NON-NLS-1$
return;
}
System.out.println("DUMPING method:" + method.getElementName() + "\n " + method.getSignature() + "\n declared in " + JavaModelUtil.getFullyQualifiedName(method.getDeclaringType()) //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
+ "\nreturnType:" + method.getReturnType() ); //$NON-NLS-1$
dumpArray("paramTypes:", method.getParameterTypes()); //$NON-NLS-1$
dumpArray("exceptions:", method.getExceptionTypes()); //$NON-NLS-1$
}catch (JavaModelException e){
System.out.println("JavaModelException: "+ e.getMessage()); //$NON-NLS-1$
}
}
public static void dumpIMethodList(String msg, List l){
System.out.println("DUMPING IMethodList: "+ msg); //$NON-NLS-1$
if (l == null){
System.out.println("null"); //$NON-NLS-1$
return;
}
Iterator iter= l.iterator();
while(iter.hasNext()){
dumpIMethod((IMethod)iter.next());
}
}
public static void dumpIType(String msg, IType type){
System.out.println("DUMPING IType:"+ msg); //$NON-NLS-1$
System.out.println("exists:" + type.exists()); //$NON-NLS-1$
try{
System.out.println("correspondingResource:" + type.getCorrespondingResource()); //$NON-NLS-1$
System.out.println("underResource:" + type.getUnderlyingResource()); //$NON-NLS-1$
System.out.println("source:\n" + type.getSource()); //$NON-NLS-1$
//System.out.println("cu.orig.under" + type.getCompilationUnit().getOriginalElement().getUnderlyingResource());
System.out.println("cu:" + type.getCompilationUnit().getSource()); //$NON-NLS-1$
}catch (JavaModelException e){
System.out.println("JavaModelException: "+ e.getMessage()); //$NON-NLS-1$
}
}
public static void dumpIResource(String msg, IResource res){
System.out.println("DUMPING IResource:"+ msg); //$NON-NLS-1$
System.out.println("name:" + res.getFullPath().toString()); //$NON-NLS-1$
System.out.println("exists" + res.exists()); //$NON-NLS-1$
}
public static void dump(Object o){
if (o == null)
dump("null"); //$NON-NLS-1$
else
dump(o.toString());
}
public static void dump(String msg){
System.out.println("DUMP:" + msg); //$NON-NLS-1$
}
public static void dumpImports(ICompilationUnit cu) throws JavaModelException{
IImportDeclaration[] imports= cu.getImports();
if (imports == null)
return;
DebugUtils.dump("Compilation Unit: " + cu.getElementName()); //$NON-NLS-1$
for (int k= 0; k < imports.length; k ++){
DebugUtils.dump("import " + imports[k].getElementName() + " on demand: " + imports[k].isOnDemand()); //$NON-NLS-2$ //$NON-NLS-1$
}
}
public static void dumpImports(IPackageFragment pack) throws JavaModelException{
ICompilationUnit[] cus= pack.getCompilationUnits();
if (cus == null)
return;
//DebugUtils.dump("Package " + pack.getElementName());
for (int j= 0; j < cus.length; j++){
dumpImports(cus[j]);
}
}
public static void dumpImports(IJavaProject project) throws JavaModelException{
IPackageFragment[] packages= project.getPackageFragments();
if (packages == null)
return;
//DebugUtils.dump("Project " + project.getElementName());
for (int i= 0; i < packages.length; i++){
dumpImports(packages[i]);
}
}
}