/******************************************************************************* * Copyright (c) 2006, 2016 Mountainminds GmbH & Co. KG and Contributors * 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: * Marc R. Hoffmann - initial API and implementation * ******************************************************************************/ package com.mountainminds.eclemma.internal.core.analysis; import org.eclipse.jdt.core.IClassFile; import org.eclipse.jdt.core.ICompilationUnit; import org.eclipse.jdt.core.IType; import org.eclipse.jdt.core.JavaModelException; /** * Callback used by {@link TypeTraverser} to report traversed types. */ public interface ITypeVisitor { /** * Called for every type. * * @param type * Java model handle * @param binaryname * VM name of the type (e.g. <code>java/util/Map$Entry</code>) */ public void visit(IType type, String binaryname); /** * Called for every compilation unit. * * @param unit * Java model handle */ public void visit(ICompilationUnit unit) throws JavaModelException; /** * Called for every class file. * * @param unit * Java model handle */ public void visit(IClassFile classfile) throws JavaModelException; }