home *** CD-ROM | disk | FTP | other *** search
/ PC User 2001 August / APC_Aug2001_CD2.iso / features / j2sdk / files / linux / j2sdklin.bin / jdk1.3.1 / include-old / tree.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-05-06  |  2.0 KB  |  58 lines

  1. /*
  2.  * @(#)tree.h    1.41 00/02/02
  3.  *
  4.  * Copyright 1994-2000 Sun Microsystems, Inc. All Rights Reserved.
  5.  * 
  6.  * This software is the proprietary information of Sun Microsystems, Inc.  
  7.  * Use is subject to license terms.
  8.  * 
  9.  */
  10.  
  11. /*
  12.  * Definitions having to do with the program tree
  13.  */
  14.  
  15. #ifndef _JAVASOFT_TREE_H_
  16. #define _JAVASOFT_TREE_H_
  17.  
  18. #include "oobj.h"    /* for the definition of unicode */
  19. #include "typecodes.h"
  20.  
  21. extern ClassClass **binclasses;
  22. extern int nbinclasses, sizebinclasses;
  23.  
  24. /* User specifiable attributes */
  25. #define ACC_PUBLIC            0x0001    /* visible to everyone */
  26. #define ACC_PRIVATE           0x0002    /* visible only to the defining class */
  27. #define ACC_PROTECTED         0x0004    /* visible to subclasses */
  28. #define ACC_STATIC            0x0008    /* instance variable is static */
  29. #define ACC_FINAL             0x0010    /* no further subclassing, overriding */
  30. #define ACC_SYNCHRONIZED      0x0020    /* wrap method call in monitor lock */
  31. #define ACC_SUPER             0x0020    /* funky handling of invokespecial */
  32. #define ACC_VOLATILE          0x0040    /* can cache in registers */
  33. #define ACC_TRANSIENT         0x0080    /* not persistant */
  34. #define ACC_NATIVE            0x0100    /* implemented in C */
  35. #define ACC_INTERFACE         0x0200    /* class is an interface */
  36. #define ACC_ABSTRACT          0x0400    /* no definition provided */
  37. #define ACC_STRICT            0x0800    /* strict floating point */
  38.  
  39. #define ACC_WRITTEN_FLAGS     0x0FFF    /* flags actually put in .class file */
  40.  
  41. /* Other attributes */
  42. #define ACC_VALKNOWN          0x2000    /* constant with known value */
  43. #define ACC_MACHINE_COMPILED  0x4000    /* compiled to machine code */
  44. #define ACC_MIRANDA_METHOD    0x8000    /* auto-generated abstract methods */
  45.  
  46. #define IsPrivate(access) (((access) & ACC_PRIVATE) != 0)
  47. #define IsPublic(access)  (((access) & ACC_PUBLIC) != 0)
  48. #define IsProtected(access)  (((access) & ACC_PROTECTED) != 0)
  49.  
  50. #ifdef TRIMMED
  51. # undef DEBUG
  52. # undef STATS
  53. # define NOLOG
  54. #endif
  55.  
  56.  
  57. #endif /* !_JAVASOFT_TREE_H_ */
  58.