1 /******************************************************************************* 2 * Copyright (c) 2012, 2013 IBM Corporation and others. 3 * 4 * This program and the accompanying materials 5 * are made available under the terms of the Eclipse Public License 2.0 6 * which accompanies this distribution, and is available at 7 * https://www.eclipse.org/legal/epl-2.0/ 8 * 9 * SPDX-License-Identifier: EPL-2.0 10 * 11 * Contributors: 12 * IBM Corporation - initial API and implementation 13 * Andy Clement (GoPivotal, Inc) aclement@gopivotal.com - Contributions for 14 * Bug 383624 - [1.8][compiler] Revive code generation support for type annotations (from Olivier's work) 15 *******************************************************************************/ 16 package org.eclipse.jdt.core.util; 17 18 import org.eclipse.jdt.internal.compiler.codegen.AnnotationTargetTypeConstants; 19 20 /** 21 * Description of an extended annotation target types constants as described in the JVM specifications 22 * (added in JavaSE-1.8). 23 * 24 * @since 3.10 25 * @noimplement This interface is not intended to be implemented by clients. 26 * @noextend This interface is not intended to be extended by clients. 27 */ 28 public interface IExtendedAnnotationConstants { 29 30 int CLASS_TYPE_PARAMETER = AnnotationTargetTypeConstants.CLASS_TYPE_PARAMETER; 31 int METHOD_TYPE_PARAMETER = AnnotationTargetTypeConstants.METHOD_TYPE_PARAMETER; 32 33 int CLASS_EXTENDS = AnnotationTargetTypeConstants.CLASS_EXTENDS; 34 int CLASS_TYPE_PARAMETER_BOUND = AnnotationTargetTypeConstants.CLASS_TYPE_PARAMETER_BOUND; 35 int METHOD_TYPE_PARAMETER_BOUND = AnnotationTargetTypeConstants.METHOD_TYPE_PARAMETER_BOUND; 36 int FIELD = AnnotationTargetTypeConstants.FIELD; 37 int METHOD_RETURN = AnnotationTargetTypeConstants.METHOD_RETURN; 38 int METHOD_RECEIVER = AnnotationTargetTypeConstants.METHOD_RECEIVER; 39 int METHOD_FORMAL_PARAMETER = AnnotationTargetTypeConstants.METHOD_FORMAL_PARAMETER; 40 int THROWS = AnnotationTargetTypeConstants.THROWS; 41 42 int LOCAL_VARIABLE = AnnotationTargetTypeConstants.LOCAL_VARIABLE; 43 int RESOURCE_VARIABLE = AnnotationTargetTypeConstants.RESOURCE_VARIABLE; 44 int EXCEPTION_PARAMETER = AnnotationTargetTypeConstants.EXCEPTION_PARAMETER; 45 int INSTANCEOF = AnnotationTargetTypeConstants.INSTANCEOF; 46 int NEW = AnnotationTargetTypeConstants.NEW; 47 int CONSTRUCTOR_REFERENCE = AnnotationTargetTypeConstants.CONSTRUCTOR_REFERENCE; 48 int METHOD_REFERENCE = AnnotationTargetTypeConstants.METHOD_REFERENCE; 49 int CAST = AnnotationTargetTypeConstants.CAST; 50 int CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT = AnnotationTargetTypeConstants.CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT; 51 int METHOD_INVOCATION_TYPE_ARGUMENT = AnnotationTargetTypeConstants.METHOD_INVOCATION_TYPE_ARGUMENT; 52 int CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT = AnnotationTargetTypeConstants.CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT; 53 int METHOD_REFERENCE_TYPE_ARGUMENT = AnnotationTargetTypeConstants.METHOD_REFERENCE_TYPE_ARGUMENT; 54 55 // Type path entry kinds 56 int TYPE_PATH_DEEPER_IN_ARRAY = 0; 57 int TYPE_PATH_DEEPER_IN_INNER_TYPE = 1; 58 int TYPE_PATH_ANNOTATION_ON_WILDCARD_BOUND = 2; 59 int TYPE_PATH_TYPE_ARGUMENT_INDEX = 3; 60 } 61