1/*
2 * ProGuard -- shrinking, optimization, obfuscation, and preverification
3 *             of Java bytecode.
4 *
5 * Copyright (c) 2002-2014 Eric Lafortune (eric@graphics.cornell.edu)
6 *
7 * This program is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License as published by the Free
9 * Software Foundation; either version 2 of the License, or (at your option)
10 * any later version.
11 *
12 * This program is distributed in the hope that it will be useful, but WITHOUT
13 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
15 * more details.
16 *
17 * You should have received a copy of the GNU General Public License along
18 * with this program; if not, write to the Free Software Foundation, Inc.,
19 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 */
21package proguard.classfile;
22
23/**
24 * Constants used in representing a Java source file (*.java).
25 *
26 * @author Eric Lafortune
27 */
28public interface JavaConstants
29{
30    public static final String JAVA_FILE_EXTENSION = ".java";
31
32    public static final String CLASS_VERSION_1_0       = "1.0";
33    public static final String CLASS_VERSION_1_1       = "1.1";
34    public static final String CLASS_VERSION_1_2       = "1.2";
35    public static final String CLASS_VERSION_1_3       = "1.3";
36    public static final String CLASS_VERSION_1_4       = "1.4";
37    public static final String CLASS_VERSION_1_5       = "1.5";
38    public static final String CLASS_VERSION_1_6       = "1.6";
39    public static final String CLASS_VERSION_1_7       = "1.7";
40    public static final String CLASS_VERSION_1_8       = "1.8";
41    public static final String CLASS_VERSION_1_5_ALIAS = "5";
42    public static final String CLASS_VERSION_1_6_ALIAS = "6";
43    public static final String CLASS_VERSION_1_7_ALIAS = "7";
44    public static final String CLASS_VERSION_1_8_ALIAS = "8";
45
46    public static final String ACC_PUBLIC       = "public";
47    public static final String ACC_PRIVATE      = "private";
48    public static final String ACC_PROTECTED    = "protected";
49    public static final String ACC_STATIC       = "static";
50    public static final String ACC_FINAL        = "final";
51//  public static final String ACC_SUPER        = "super";
52    public static final String ACC_SYNCHRONIZED = "synchronized";
53    public static final String ACC_VOLATILE     = "volatile";
54    public static final String ACC_TRANSIENT    = "transient";
55    public static final String ACC_BRIDGE       = "bridge";
56    public static final String ACC_VARARGS      = "varargs";
57    public static final String ACC_NATIVE       = "native";
58    public static final String ACC_INTERFACE    = "interface";
59    public static final String ACC_ABSTRACT     = "abstract";
60    public static final String ACC_STRICT       = "strictfp";
61    public static final String ACC_SYNTHETIC    = "synthetic";
62    public static final String ACC_ANNOTATION   = "@";
63    public static final String ACC_ENUM         = "enum";
64    public static final String ACC_MANDATED     = "mandated";
65//  public static final String ACC_CONSTRUCTOR  = "constructor";
66
67    public static final char PACKAGE_SEPARATOR     = '.';
68    public static final char INNER_CLASS_SEPARATOR = '.';
69    public static final char SPECIAL_CLASS_CHARACTER        = '-';
70    public static final char SPECIAL_MEMBER_SEPARATOR       = '$';
71
72    public static final char METHOD_ARGUMENTS_OPEN      = '(';
73    public static final char METHOD_ARGUMENTS_CLOSE     = ')';
74    public static final char METHOD_ARGUMENTS_SEPARATOR = ',';
75
76    public static final String TYPE_JAVA_LANG_OBJECT = "java.lang.Object";
77    public static final String PACKAGE_JAVA_LANG     = "java.lang.";
78
79    public static final String TYPE_VOID    = "void";
80    public static final String TYPE_BOOLEAN = "boolean";
81    public static final String TYPE_BYTE    = "byte";
82    public static final String TYPE_CHAR    = "char";
83    public static final String TYPE_SHORT   = "short";
84    public static final String TYPE_INT     = "int";
85    public static final String TYPE_FLOAT   = "float";
86    public static final String TYPE_LONG    = "long";
87    public static final String TYPE_DOUBLE  = "double";
88    public static final String TYPE_ARRAY   = "[]";
89}