60 class ciKlass;
61 class ciInstanceKlass;
62 class ciMethodKlass;
63 class ciArrayKlass;
64 class ciObjArrayKlass;
65 class ciTypeArrayKlass;
66 class ciKlassKlass;
67 class ciInstanceKlassKlass;
68 class ciArrayKlassKlass;
69 class ciObjArrayKlassKlass;
70 class ciTypeArrayKlassKlass;
71
72 // Simulate Java Language style package-private access with
73 // friend declarations.
74 // This is a great idea but gcc and other C++ compilers give an
75 // error for being friends with yourself, so this macro does not
76 // compile on some platforms.
77
78 // Everyone gives access to ciObjectFactory
79 #define CI_PACKAGE_ACCESS \
80 friend class ciObjectFactory;
81
82 // These are the packages that have access to ciEnv
83 // Any more access must be given explicitly.
84 #define CI_PACKAGE_ACCESS_TO \
85 friend class ciObjectFactory; \
86 friend class ciCallSite; \
87 friend class ciConstantPoolCache; \
88 friend class ciField; \
89 friend class ciConstant; \
90 friend class ciCPCache; \
91 friend class ciFlags; \
92 friend class ciExceptionHandler; \
93 friend class ciCallProfile; \
94 friend class ciSignature; \
95 friend class ciBytecodeStream; \
96 friend class ciSignatureStream; \
97 friend class ciExceptionHandlerStream; \
98 friend class ciObject; \
99 friend class ciNullObject; \
100 friend class ciInstance; \
101 friend class ciMethod; \
102 friend class ciMethodData; \
103 friend class ciMethodHandle; \
104 friend class ciReceiverTypeData; \
105 friend class ciSymbol; \
|
60 class ciKlass;
61 class ciInstanceKlass;
62 class ciMethodKlass;
63 class ciArrayKlass;
64 class ciObjArrayKlass;
65 class ciTypeArrayKlass;
66 class ciKlassKlass;
67 class ciInstanceKlassKlass;
68 class ciArrayKlassKlass;
69 class ciObjArrayKlassKlass;
70 class ciTypeArrayKlassKlass;
71
72 // Simulate Java Language style package-private access with
73 // friend declarations.
74 // This is a great idea but gcc and other C++ compilers give an
75 // error for being friends with yourself, so this macro does not
76 // compile on some platforms.
77
78 // Everyone gives access to ciObjectFactory
79 #define CI_PACKAGE_ACCESS \
80 friend class ciObjectFactory; \
81 friend class VMStructs;
82
83 // These are the packages that have access to ciEnv
84 // Any more access must be given explicitly.
85 #define CI_PACKAGE_ACCESS_TO \
86 friend class ciObjectFactory; \
87 friend class VMStructs; \
88 friend class ciCallSite; \
89 friend class ciConstantPoolCache; \
90 friend class ciField; \
91 friend class ciConstant; \
92 friend class ciCPCache; \
93 friend class ciFlags; \
94 friend class ciExceptionHandler; \
95 friend class ciCallProfile; \
96 friend class ciSignature; \
97 friend class ciBytecodeStream; \
98 friend class ciSignatureStream; \
99 friend class ciExceptionHandlerStream; \
100 friend class ciObject; \
101 friend class ciNullObject; \
102 friend class ciInstance; \
103 friend class ciMethod; \
104 friend class ciMethodData; \
105 friend class ciMethodHandle; \
106 friend class ciReceiverTypeData; \
107 friend class ciSymbol; \
|