145 constantPoolOop _constants; |
145 constantPoolOop _constants; |
146 // Class loader used to load this class, NULL if VM loader used. |
146 // Class loader used to load this class, NULL if VM loader used. |
147 oop _class_loader; |
147 oop _class_loader; |
148 // Protection domain. |
148 // Protection domain. |
149 oop _protection_domain; |
149 oop _protection_domain; |
|
150 // Host class, which grants its access privileges to this class also. |
|
151 // This is only non-null for an anonymous class (AnonymousClasses enabled). |
|
152 // The host class is either named, or a previously loaded anonymous class. |
|
153 klassOop _host_klass; |
150 // Class signers. |
154 // Class signers. |
151 objArrayOop _signers; |
155 objArrayOop _signers; |
152 // Name of source file containing this klass, NULL if not specified. |
156 // Name of source file containing this klass, NULL if not specified. |
153 symbolOop _source_file_name; |
157 symbolOop _source_file_name; |
154 // the source debug extension for this klass, NULL if not specified. |
158 // the source debug extension for this klass, NULL if not specified. |
373 |
377 |
374 // protection domain |
378 // protection domain |
375 oop protection_domain() { return _protection_domain; } |
379 oop protection_domain() { return _protection_domain; } |
376 void set_protection_domain(oop pd) { oop_store((oop*) &_protection_domain, pd); } |
380 void set_protection_domain(oop pd) { oop_store((oop*) &_protection_domain, pd); } |
377 |
381 |
|
382 // host class |
|
383 oop host_klass() const { return _host_klass; } |
|
384 void set_host_klass(oop host) { oop_store((oop*) &_host_klass, host); } |
|
385 bool is_anonymous() const { return _host_klass != NULL; } |
|
386 |
378 // signers |
387 // signers |
379 objArrayOop signers() const { return _signers; } |
388 objArrayOop signers() const { return _signers; } |
380 void set_signers(objArrayOop s) { oop_store((oop*) &_signers, oop(s)); } |
389 void set_signers(objArrayOop s) { oop_store((oop*) &_signers, oop(s)); } |
381 |
390 |
382 // source file name |
391 // source file name |
707 oop* adr_transitive_interfaces() const { return (oop*)&this->_transitive_interfaces;} |
716 oop* adr_transitive_interfaces() const { return (oop*)&this->_transitive_interfaces;} |
708 oop* adr_fields() const { return (oop*)&this->_fields;} |
717 oop* adr_fields() const { return (oop*)&this->_fields;} |
709 oop* adr_constants() const { return (oop*)&this->_constants;} |
718 oop* adr_constants() const { return (oop*)&this->_constants;} |
710 oop* adr_class_loader() const { return (oop*)&this->_class_loader;} |
719 oop* adr_class_loader() const { return (oop*)&this->_class_loader;} |
711 oop* adr_protection_domain() const { return (oop*)&this->_protection_domain;} |
720 oop* adr_protection_domain() const { return (oop*)&this->_protection_domain;} |
|
721 oop* adr_host_klass() const { return (oop*)&this->_host_klass;} |
712 oop* adr_signers() const { return (oop*)&this->_signers;} |
722 oop* adr_signers() const { return (oop*)&this->_signers;} |
713 oop* adr_source_file_name() const { return (oop*)&this->_source_file_name;} |
723 oop* adr_source_file_name() const { return (oop*)&this->_source_file_name;} |
714 oop* adr_source_debug_extension() const { return (oop*)&this->_source_debug_extension;} |
724 oop* adr_source_debug_extension() const { return (oop*)&this->_source_debug_extension;} |
715 oop* adr_inner_classes() const { return (oop*)&this->_inner_classes;} |
725 oop* adr_inner_classes() const { return (oop*)&this->_inner_classes;} |
716 oop* adr_implementors() const { return (oop*)&this->_implementors[0];} |
726 oop* adr_implementors() const { return (oop*)&this->_implementors[0];} |