1.1 --- a/rt/javap/src/main/java/org/apidesign/javap/Constants.java Wed Feb 27 17:50:47 2013 +0100
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,372 +0,0 @@
1.4 -/*
1.5 - * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
1.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
1.7 - *
1.8 - * This code is free software; you can redistribute it and/or modify it
1.9 - * under the terms of the GNU General Public License version 2 only, as
1.10 - * published by the Free Software Foundation. Oracle designates this
1.11 - * particular file as subject to the "Classpath" exception as provided
1.12 - * by Oracle in the LICENSE file that accompanied this code.
1.13 - *
1.14 - * This code is distributed in the hope that it will be useful, but WITHOUT
1.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
1.16 - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
1.17 - * version 2 for more details (a copy is included in the LICENSE file that
1.18 - * accompanied this code).
1.19 - *
1.20 - * You should have received a copy of the GNU General Public License version
1.21 - * 2 along with this work; if not, write to the Free Software Foundation,
1.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
1.23 - *
1.24 - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
1.25 - * or visit www.oracle.com if you need additional information or have any
1.26 - * questions.
1.27 - */
1.28 -
1.29 -
1.30 -
1.31 -package org.apidesign.javap;
1.32 -
1.33 -/**
1.34 - * This interface defines constant that are used
1.35 - * throughout the compiler. It inherits from RuntimeConstants,
1.36 - * which is an autogenerated class that contains contstants
1.37 - * defined in the interpreter.
1.38 - */
1.39 -
1.40 -public
1.41 -interface Constants extends RuntimeConstants {
1.42 -
1.43 - /**
1.44 - * End of input
1.45 - */
1.46 - public static final int EOF = -1;
1.47 -
1.48 - /*
1.49 - * Flags
1.50 - */
1.51 - public static final int F_VERBOSE = 1 << 0;
1.52 - public static final int F_DUMP = 1 << 1;
1.53 - public static final int F_WARNINGS = 1 << 2;
1.54 - public static final int F_DEBUG = 1 << 3;
1.55 - public static final int F_OPTIMIZE = 1 << 4;
1.56 - public static final int F_DEPENDENCIES = 1 << 5;
1.57 -
1.58 - /*
1.59 - * Type codes
1.60 - */
1.61 - public static final int TC_BOOLEAN = 0;
1.62 - public static final int TC_BYTE = 1;
1.63 - public static final int TC_CHAR = 2;
1.64 - public static final int TC_SHORT = 3;
1.65 - public static final int TC_INT = 4;
1.66 - public static final int TC_LONG = 5;
1.67 - public static final int TC_FLOAT = 6;
1.68 - public static final int TC_DOUBLE = 7;
1.69 - public static final int TC_NULL = 8;
1.70 - public static final int TC_ARRAY = 9;
1.71 - public static final int TC_CLASS = 10;
1.72 - public static final int TC_VOID = 11;
1.73 - public static final int TC_METHOD = 12;
1.74 - public static final int TC_ERROR = 13;
1.75 -
1.76 - /*
1.77 - * Type Masks
1.78 - */
1.79 - public static final int TM_NULL = 1 << TC_NULL;
1.80 - public static final int TM_VOID = 1 << TC_VOID;
1.81 - public static final int TM_BOOLEAN = 1 << TC_BOOLEAN;
1.82 - public static final int TM_BYTE = 1 << TC_BYTE;
1.83 - public static final int TM_CHAR = 1 << TC_CHAR;
1.84 - public static final int TM_SHORT = 1 << TC_SHORT;
1.85 - public static final int TM_INT = 1 << TC_INT;
1.86 - public static final int TM_LONG = 1 << TC_LONG;
1.87 - public static final int TM_FLOAT = 1 << TC_FLOAT;
1.88 - public static final int TM_DOUBLE = 1 << TC_DOUBLE;
1.89 - public static final int TM_ARRAY = 1 << TC_ARRAY;
1.90 - public static final int TM_CLASS = 1 << TC_CLASS;
1.91 - public static final int TM_METHOD = 1 << TC_METHOD;
1.92 - public static final int TM_ERROR = 1 << TC_ERROR;
1.93 -
1.94 - public static final int TM_INT32 = TM_BYTE | TM_SHORT | TM_CHAR | TM_INT;
1.95 - public static final int TM_NUM32 = TM_INT32 | TM_FLOAT;
1.96 - public static final int TM_NUM64 = TM_LONG | TM_DOUBLE;
1.97 - public static final int TM_INTEGER = TM_INT32 | TM_LONG;
1.98 - public static final int TM_REAL = TM_FLOAT | TM_DOUBLE;
1.99 - public static final int TM_NUMBER = TM_INTEGER | TM_REAL;
1.100 - public static final int TM_REFERENCE = TM_ARRAY | TM_CLASS | TM_NULL;
1.101 -
1.102 - /*
1.103 - * Class status
1.104 - */
1.105 - public static final int CS_UNDEFINED = 0;
1.106 - public static final int CS_UNDECIDED = 1;
1.107 - public static final int CS_BINARY = 2;
1.108 - public static final int CS_SOURCE = 3;
1.109 - public static final int CS_PARSED = 4;
1.110 - public static final int CS_COMPILED = 5;
1.111 - public static final int CS_NOTFOUND = 6;
1.112 -
1.113 - /*
1.114 - * Attributes
1.115 - */
1.116 - public static final int ATT_ALL = -1;
1.117 - public static final int ATT_CODE = 1;
1.118 -
1.119 - /*
1.120 - * Number of bits used in file offsets
1.121 - */
1.122 - public static final int OFFSETBITS = 19;
1.123 - public static final int MAXFILESIZE = (1 << OFFSETBITS) - 1;
1.124 - public static final int MAXLINENUMBER = (1 << (32 - OFFSETBITS)) - 1;
1.125 -
1.126 - /*
1.127 - * Operators
1.128 - */
1.129 - public final int COMMA = 0;
1.130 - public final int ASSIGN = 1;
1.131 -
1.132 - public final int ASGMUL = 2;
1.133 - public final int ASGDIV = 3;
1.134 - public final int ASGREM = 4;
1.135 - public final int ASGADD = 5;
1.136 - public final int ASGSUB = 6;
1.137 - public final int ASGLSHIFT = 7;
1.138 - public final int ASGRSHIFT = 8;
1.139 - public final int ASGURSHIFT = 9;
1.140 - public final int ASGBITAND = 10;
1.141 - public final int ASGBITOR = 11;
1.142 - public final int ASGBITXOR = 12;
1.143 -
1.144 - public final int COND = 13;
1.145 - public final int OR = 14;
1.146 - public final int AND = 15;
1.147 - public final int BITOR = 16;
1.148 - public final int BITXOR = 17;
1.149 - public final int BITAND = 18;
1.150 - public final int NE = 19;
1.151 - public final int EQ = 20;
1.152 - public final int GE = 21;
1.153 - public final int GT = 22;
1.154 - public final int LE = 23;
1.155 - public final int LT = 24;
1.156 - public final int INSTANCEOF = 25;
1.157 - public final int LSHIFT = 26;
1.158 - public final int RSHIFT = 27;
1.159 - public final int URSHIFT = 28;
1.160 - public final int ADD = 29;
1.161 - public final int SUB = 30;
1.162 - public final int DIV = 31;
1.163 - public final int REM = 32;
1.164 - public final int MUL = 33;
1.165 - public final int CAST = 34; // (x)y
1.166 - public final int POS = 35; // +x
1.167 - public final int NEG = 36; // -x
1.168 - public final int NOT = 37;
1.169 - public final int BITNOT = 38;
1.170 - public final int PREINC = 39; // ++x
1.171 - public final int PREDEC = 40; // --x
1.172 - public final int NEWARRAY = 41;
1.173 - public final int NEWINSTANCE = 42;
1.174 - public final int NEWFROMNAME = 43;
1.175 - public final int POSTINC = 44; // x++
1.176 - public final int POSTDEC = 45; // x--
1.177 - public final int FIELD = 46;
1.178 - public final int METHOD = 47; // x(y)
1.179 - public final int ARRAYACCESS = 48; // x[y]
1.180 - public final int NEW = 49;
1.181 - public final int INC = 50;
1.182 - public final int DEC = 51;
1.183 -
1.184 - public final int CONVERT = 55; // implicit conversion
1.185 - public final int EXPR = 56; // (x)
1.186 - public final int ARRAY = 57; // {x, y, ...}
1.187 - public final int GOTO = 58;
1.188 -
1.189 - /*
1.190 - * Value tokens
1.191 - */
1.192 - public final int IDENT = 60;
1.193 - public final int BOOLEANVAL = 61;
1.194 - public final int BYTEVAL = 62;
1.195 - public final int CHARVAL = 63;
1.196 - public final int SHORTVAL = 64;
1.197 - public final int INTVAL = 65;
1.198 - public final int LONGVAL = 66;
1.199 - public final int FLOATVAL = 67;
1.200 - public final int DOUBLEVAL = 68;
1.201 - public final int STRINGVAL = 69;
1.202 -
1.203 - /*
1.204 - * Type keywords
1.205 - */
1.206 - public final int BYTE = 70;
1.207 - public final int CHAR = 71;
1.208 - public final int SHORT = 72;
1.209 - public final int INT = 73;
1.210 - public final int LONG = 74;
1.211 - public final int FLOAT = 75;
1.212 - public final int DOUBLE = 76;
1.213 - public final int VOID = 77;
1.214 - public final int BOOLEAN = 78;
1.215 -
1.216 - /*
1.217 - * Expression keywords
1.218 - */
1.219 - public final int TRUE = 80;
1.220 - public final int FALSE = 81;
1.221 - public final int THIS = 82;
1.222 - public final int SUPER = 83;
1.223 - public final int NULL = 84;
1.224 -
1.225 - /*
1.226 - * Statement keywords
1.227 - */
1.228 - public final int IF = 90;
1.229 - public final int ELSE = 91;
1.230 - public final int FOR = 92;
1.231 - public final int WHILE = 93;
1.232 - public final int DO = 94;
1.233 - public final int SWITCH = 95;
1.234 - public final int CASE = 96;
1.235 - public final int DEFAULT = 97;
1.236 - public final int BREAK = 98;
1.237 - public final int CONTINUE = 99;
1.238 - public final int RETURN = 100;
1.239 - public final int TRY = 101;
1.240 - public final int CATCH = 102;
1.241 - public final int FINALLY = 103;
1.242 - public final int THROW = 104;
1.243 - public final int STAT = 105;
1.244 - public final int EXPRESSION = 106;
1.245 - public final int DECLARATION = 107;
1.246 - public final int VARDECLARATION = 108;
1.247 -
1.248 - /*
1.249 - * Declaration keywords
1.250 - */
1.251 - public final int IMPORT = 110;
1.252 - public final int CLASS = 111;
1.253 - public final int EXTENDS = 112;
1.254 - public final int IMPLEMENTS = 113;
1.255 - public final int INTERFACE = 114;
1.256 - public final int PACKAGE = 115;
1.257 -
1.258 - /*
1.259 - * Modifier keywords
1.260 - */
1.261 - public final int PRIVATE = 120;
1.262 - public final int PUBLIC = 121;
1.263 - public final int PROTECTED = 122;
1.264 - public final int CONST = 123;
1.265 - public final int STATIC = 124;
1.266 - public final int TRANSIENT = 125;
1.267 - public final int SYNCHRONIZED = 126;
1.268 - public final int NATIVE = 127;
1.269 - public final int FINAL = 128;
1.270 - public final int VOLATILE = 129;
1.271 - public final int ABSTRACT = 130;
1.272 - public final int STRICT = 165;
1.273 -
1.274 - /*
1.275 - * Punctuation
1.276 - */
1.277 - public final int SEMICOLON = 135;
1.278 - public final int COLON = 136;
1.279 - public final int QUESTIONMARK = 137;
1.280 - public final int LBRACE = 138;
1.281 - public final int RBRACE = 139;
1.282 - public final int LPAREN = 140;
1.283 - public final int RPAREN = 141;
1.284 - public final int LSQBRACKET = 142;
1.285 - public final int RSQBRACKET = 143;
1.286 - public final int THROWS = 144;
1.287 -
1.288 - /*
1.289 - * Special tokens
1.290 - */
1.291 - public final int ERROR = 145; // an error
1.292 - public final int COMMENT = 146; // not used anymore.
1.293 - public final int TYPE = 147;
1.294 - public final int LENGTH = 148;
1.295 - public final int INLINERETURN = 149;
1.296 - public final int INLINEMETHOD = 150;
1.297 - public final int INLINENEWINSTANCE = 151;
1.298 -
1.299 - /*
1.300 - * Added for jasm
1.301 - */
1.302 - public final int METHODREF = 152;
1.303 - public final int FIELDREF = 153;
1.304 - public final int STACK = 154;
1.305 - public final int LOCAL = 155;
1.306 - public final int CPINDEX = 156;
1.307 - public final int CPNAME = 157;
1.308 - public final int SIGN = 158;
1.309 - public final int BITS = 159;
1.310 - public final int INF = 160;
1.311 - public final int NAN = 161;
1.312 - public final int INNERCLASS = 162;
1.313 - public final int OF = 163;
1.314 - public final int SYNTHETIC = 164;
1.315 -// last used=165;
1.316 -
1.317 - /*
1.318 - * Operator precedence
1.319 - */
1.320 - public static final int opPrecedence[] = {
1.321 - 10, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1.322 - 11, 11, 11, 12, 13, 14, 15, 16, 17, 18,
1.323 - 18, 19, 19, 19, 19, 19, 20, 20, 20, 21,
1.324 - 21, 22, 22, 22, 23, 24, 24, 24, 24, 24,
1.325 - 24, 25, 25, 26, 26, 26, 26, 26, 26
1.326 - };
1.327 -
1.328 - /*
1.329 - * Operator names
1.330 - */
1.331 - public static final String opNames[] = {
1.332 - ",", "=", "*=", "/=", "%=",
1.333 - "+=", "-=", "<<=", ">>=", "<<<=",
1.334 - "&=", "|=", "^=", "?:", "||",
1.335 - "&&", "|", "^", "&", "!=",
1.336 - "==", ">=", ">", "<=", "<",
1.337 - "instanceof", "<<", ">>", "<<<", "+",
1.338 - "-", "/", "%", "*", "cast",
1.339 - "+", "-", "!", "~", "++",
1.340 - "--", "new", "new", "new", "++",
1.341 - "--", "field", "method", "[]", "new",
1.342 - "++", "--", null, null, null,
1.343 -
1.344 - "convert", "expr", "array", "goto", null,
1.345 -
1.346 - "Identifier", "Boolean", "Byte", "Char", "Short",
1.347 - "Integer", "Long", "Float", "Double", "String",
1.348 -
1.349 - "byte", "char", "short", "int", "long",
1.350 - "float", "double", "void", "boolean", null,
1.351 -
1.352 - "true", "false", "this", "super", "null",
1.353 - null, null, null, null, null,
1.354 -
1.355 - "if", "else", "for", "while", "do",
1.356 - "switch", "case", "default", "break", "continue",
1.357 - "return", "try", "catch", "finally", "throw",
1.358 - "stat", "expression", "declaration", "declaration", null,
1.359 -
1.360 - "import", "class", "extends", "implements", "interface",
1.361 - "package", null, null, null, null,
1.362 -
1.363 - "private", "public", "protected", "const", "static",
1.364 - "transient", "synchronized", "native", "final", "volatile",
1.365 - "abstract", null, null, null, null,
1.366 -
1.367 - ";", ":", "?", "{", "}",
1.368 - "(", ")", "[", "]", "throws",
1.369 - "error", "comment", "type", "length", "inline-return",
1.370 - "inline-method", "inline-new",
1.371 - "method", "field", "stack", "locals", "CPINDEX", "CPName", "SIGN",
1.372 - "bits", "INF", "NaN", "InnerClass", "of", "synthetic"
1.373 - };
1.374 -
1.375 -}