1 /******************************************************************************* 2 * Copyright (c) 2012, 2013 IBM Corporation and others. 3 * All rights reserved. This program and the accompanying materials 4 * are made available under the terms of the Eclipse Public License v1.0 5 * which accompanies this distribution, and is available at 6 * http://www.eclipse.org/legal/epl-v10.html 7 * 8 * Contributors: 9 * IBM Corporation - initial API and implementation 10 * Andy Clement (GoPivotal, Inc) aclement@gopivotal.com - Contributions for 11 * Bug 383624 - [1.8][compiler] Revive code generation support for type annotations (from Olivier's work) 12 * Stephan Herrmann - Contribution for 13 * Bug 392384 - [1.8][compiler][null] Restore nullness info from type annotations in class files 14 *******************************************************************************/ 15 package org.eclipse.jdt.internal.compiler.codegen; 16 17 public interface AnnotationTargetTypeConstants { 18 19 // Targets for type parameter declarations 20 int CLASS_TYPE_PARAMETER = 0x00; 21 int METHOD_TYPE_PARAMETER = 0x01; 22 23 // Targets that may be externally visible in classes and members 24 int CLASS_EXTENDS = 0x10; 25 int CLASS_TYPE_PARAMETER_BOUND = 0x11; 26 int METHOD_TYPE_PARAMETER_BOUND = 0x12; 27 int FIELD = 0x13; 28 int METHOD_RETURN = 0x14; 29 int METHOD_RECEIVER = 0x15; 30 int METHOD_FORMAL_PARAMETER = 0x16; 31 int THROWS = 0x17; 32 33 // Targets for type uses that occur only within code blocks 34 int LOCAL_VARIABLE = 0x40; 35 int RESOURCE_VARIABLE = 0x41; 36 int EXCEPTION_PARAMETER = 0x42; 37 int INSTANCEOF = 0x43; 38 int NEW = 0x44; 39 int CONSTRUCTOR_REFERENCE = 0x45; 40 int METHOD_REFERENCE = 0x46; 41 int CAST = 0x47; 42 int CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT = 0x48; 43 int METHOD_INVOCATION_TYPE_ARGUMENT = 0x49; 44 int CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT = 0x4A; 45 int METHOD_REFERENCE_TYPE_ARGUMENT = 0x4B; 46 47 // Details for type_path: 48 int NEXT_ARRAY_DIMENSION = 0x00; 49 int NEXT_NESTED_TYPE = 0x01; 50 int WILDCARD_BOUND = 0x02; 51 int TYPE_ARGUMENT = 0x03; 52 } 53