/******************************************************************************* * Copyright (c) 2005, 2007 BEA Systems, Inc. * 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: * tyeung@bea.com - initial API and implementation *******************************************************************************/ package org.eclipse.jdt.apt.core.internal.declaration; import org.eclipse.jdt.apt.core.internal.env.BaseProcessorEnv; /** * The base of all eclipse type system object * @author tyeung * */ public interface EclipseMirrorObject { public enum MirrorKind { CONSTRUCTOR, METHOD, ANNOTATION_ELEMENT, FIELD, ENUM_CONSTANT, ANNOTATION_VALUE, ANNOTATION_MIRROR, TYPE_ANNOTATION, TYPE_INTERFACE, TYPE_CLASS, TYPE_ENUM, TYPE_ARRAY, TYPE_WILDCARD, TYPE_VOID, TYPE_PRIMITIVE, TYPE_PARAMETER_VARIABLE, TYPE_ERROR, FORMAL_PARAMETER, PACKAGE } public MirrorKind kind(); /** * @return the processor environment associated with the object. * return null for primitive, void and error type. */ public BaseProcessorEnv getEnvironment(); }