2 * @(#)tree.h 1.3 02/09/27
4 * Copyright 1995-1998 by Sun Microsystems, Inc.,
5 * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
8 * This software is the confidential and proprietary information
9 * of Sun Microsystems, Inc. ("Confidential Information"). You
10 * shall not disclose such Confidential Information and shall use
11 * it only in accordance with the terms of the license agreement
12 * you entered into with Sun.
13 * Use is subject to license terms.
17 * Definitions having to do with the program tree
23 #include "oobj.h" /* for the definition of unicode */
24 #include "typecodes.h"
26 extern int SkipSourceChecks
;
27 extern char *progname
;
28 extern ClassClass
**binclasses
;
29 extern long nbinclasses
, sizebinclasses
;
31 /* User specifiable attributes */
32 #define ACC_PUBLIC 0x0001 /* visible to everyone */
33 #define ACC_PRIVATE 0x0002 /* visible only to the defining class */
34 #define ACC_PROTECTED 0x0004 /* visible to subclasses */
35 #define ACC_STATIC 0x0008 /* instance variable is static */
36 #define ACC_FINAL 0x0010 /* no further subclassing, overriding */
37 #define ACC_SYNCHRONIZED 0x0020 /* wrap method call in monitor lock */
38 #define ACC_SUPER 0x0020 /* funky handling of invokespecial */
39 #define ACC_THREADSAFE 0x0040 /* can cache in registers */
40 #define ACC_TRANSIENT 0x0080 /* not persistant */
41 #define ACC_NATIVE 0x0100 /* implemented in C */
42 #define ACC_INTERFACE 0x0200 /* class is an interface */
43 #define ACC_ABSTRACT 0x0400 /* no definition provided */
44 #define ACC_XXUNUSED1 0x0800 /* */
46 #define ACC_WRITTEN_FLAGS 0x0FFF /* flags actually put in .class file */
48 /* Other attributes */
49 #define ACC_VALKNOWN 0x1000 /* constant with known value */
50 #define ACC_DOCED 0x2000 /* documentation generated */
51 #define ACC_MACHINE_COMPILED 0x4000 /* compiled to machine code */
52 #define ACC_XXUNUSED3 0x8000 /* */
54 #define IsPrivate(access) (((access) & ACC_PRIVATE) != 0)
55 #define IsPublic(access) (((access) & ACC_PUBLIC) != 0)
56 #define IsProtected(access) (((access) & ACC_PROTECTED) != 0)
58 char *addstr(char *s
, char *buf
, char *limit
, char term
);
59 char *addhex(long n
, char *buf
, char *limit
);
60 char *adddec(long n
, char *buf
, char *limit
);
69 #endif /* !_TREE_H_ */