46
47 virtual bool is_classless() const { return false; }
48 public:
49 bool is_loaded() const { return _metadata != NULL || is_classless(); }
50
51 virtual bool is_metadata() const { return true; }
52
53 virtual bool is_type() const { return false; }
54 virtual bool is_cpcache() const { return false; }
55 virtual bool is_return_address() const { return false; }
56 virtual bool is_method() const { return false; }
57 virtual bool is_method_data() const { return false; }
58 virtual bool is_klass() const { return false; }
59 virtual bool is_instance_klass() const { return false; }
60 virtual bool is_valuetype() const { return false; }
61 virtual bool is_array_klass() const { return false; }
62 virtual bool is_value_array_klass() const { return false; }
63 virtual bool is_obj_array_klass() const { return false; }
64 virtual bool is_type_array_klass() const { return false; }
65 virtual bool is_wrapper() const { return false; }
66 virtual void dump_replay_data(outputStream* st) { /* do nothing */ }
67
68 ciMethod* as_method() {
69 assert(is_method(), "bad cast");
70 return (ciMethod*)this;
71 }
72 ciMethodData* as_method_data() {
73 assert(is_method_data(), "bad cast");
74 return (ciMethodData*)this;
75 }
76 ciSymbol* as_symbol() {
77 assert(is_symbol(), "bad cast");
78 return (ciSymbol*)this;
79 }
80 ciType* as_type() {
81 assert(is_type(), "bad cast");
82 return (ciType*)this;
83 }
84 ciReturnAddress* as_return_address() {
85 assert(is_return_address(), "bad cast");
|
46
47 virtual bool is_classless() const { return false; }
48 public:
49 bool is_loaded() const { return _metadata != NULL || is_classless(); }
50
51 virtual bool is_metadata() const { return true; }
52
53 virtual bool is_type() const { return false; }
54 virtual bool is_cpcache() const { return false; }
55 virtual bool is_return_address() const { return false; }
56 virtual bool is_method() const { return false; }
57 virtual bool is_method_data() const { return false; }
58 virtual bool is_klass() const { return false; }
59 virtual bool is_instance_klass() const { return false; }
60 virtual bool is_valuetype() const { return false; }
61 virtual bool is_array_klass() const { return false; }
62 virtual bool is_value_array_klass() const { return false; }
63 virtual bool is_obj_array_klass() const { return false; }
64 virtual bool is_type_array_klass() const { return false; }
65 virtual bool is_wrapper() const { return false; }
66 virtual bool flatten_array() const { return false; }
67 virtual void dump_replay_data(outputStream* st) { /* do nothing */ }
68
69 ciMethod* as_method() {
70 assert(is_method(), "bad cast");
71 return (ciMethod*)this;
72 }
73 ciMethodData* as_method_data() {
74 assert(is_method_data(), "bad cast");
75 return (ciMethodData*)this;
76 }
77 ciSymbol* as_symbol() {
78 assert(is_symbol(), "bad cast");
79 return (ciSymbol*)this;
80 }
81 ciType* as_type() {
82 assert(is_type(), "bad cast");
83 return (ciType*)this;
84 }
85 ciReturnAddress* as_return_address() {
86 assert(is_return_address(), "bad cast");
|