44 friend class ciMethod;
45 friend class ciMethodData;
46 friend class ciObjArrayKlass;
47 friend class ciReceiverTypeData;
48
49 private:
50 ciSymbol* _name;
51 jint _layout_helper;
52
53 protected:
54 ciKlass(Klass* k, ciSymbol* name);
55 ciKlass(ciSymbol* name, BasicType bt);
56
57 Klass* get_Klass() const {
58 Klass* k = (Klass*)_metadata;
59 assert(k != NULL, "illegal use of unloaded klass");
60 return k;
61 }
62
63 // Certain subklasses have an associated class loader.
64 virtual oop loader() { return NULL; }
65 virtual jobject loader_handle() { return NULL; }
66
67 virtual oop protection_domain() { return NULL; }
68 virtual jobject protection_domain_handle() { return NULL; }
69
70 const char* type_string() { return "ciKlass"; }
71
72 void print_impl(outputStream* st);
73
74 public:
75 ciKlass(Klass* k);
76
77 // What is the name of this klass?
78 ciSymbol* name() const { return _name; }
79
80 // What is its layout helper value?
81 jint layout_helper() { return _layout_helper; }
82
83 bool is_subtype_of(ciKlass* klass);
|
44 friend class ciMethod;
45 friend class ciMethodData;
46 friend class ciObjArrayKlass;
47 friend class ciReceiverTypeData;
48
49 private:
50 ciSymbol* _name;
51 jint _layout_helper;
52
53 protected:
54 ciKlass(Klass* k, ciSymbol* name);
55 ciKlass(ciSymbol* name, BasicType bt);
56
57 Klass* get_Klass() const {
58 Klass* k = (Klass*)_metadata;
59 assert(k != NULL, "illegal use of unloaded klass");
60 return k;
61 }
62
63 // Certain subklasses have an associated class loader.
64 virtual oop holder() { return NULL; }
65 virtual jobject holder_handle() { return NULL; }
66
67 virtual oop loader() { return NULL; }
68 virtual jobject loader_handle() { return NULL; }
69
70 virtual oop protection_domain() { return NULL; }
71 virtual jobject protection_domain_handle() { return NULL; }
72
73 const char* type_string() { return "ciKlass"; }
74
75 void print_impl(outputStream* st);
76
77 public:
78 ciKlass(Klass* k);
79
80 // What is the name of this klass?
81 ciSymbol* name() const { return _name; }
82
83 // What is its layout helper value?
84 jint layout_helper() { return _layout_helper; }
85
86 bool is_subtype_of(ciKlass* klass);
|