38
39 protected:
40 ciArrayKlass(Klass* k);
41 ciArrayKlass(ciSymbol* name, int dimension, BasicType bt);
42
43 ArrayKlass* get_ArrayKlass() {
44 return (ArrayKlass*)get_Klass();
45 }
46
47 const char* type_string() { return "ciArrayKlass"; }
48
49 public:
50 jint dimension() { return _dimension; }
51 ciType* element_type(); // JLS calls this the "component type"
52 ciType* base_element_type(); // JLS calls this the "element type"
53 bool is_leaf_type(); // No subtypes of this array type.
54
55 // What kind of vmObject is this?
56 bool is_array_klass() const { return true; }
57
58 static ciArrayKlass* make(ciType* element_type);
59 };
60
61 #endif // SHARE_CI_CIARRAYKLASS_HPP
|
38
39 protected:
40 ciArrayKlass(Klass* k);
41 ciArrayKlass(ciSymbol* name, int dimension, BasicType bt);
42
43 ArrayKlass* get_ArrayKlass() {
44 return (ArrayKlass*)get_Klass();
45 }
46
47 const char* type_string() { return "ciArrayKlass"; }
48
49 public:
50 jint dimension() { return _dimension; }
51 ciType* element_type(); // JLS calls this the "component type"
52 ciType* base_element_type(); // JLS calls this the "element type"
53 bool is_leaf_type(); // No subtypes of this array type.
54
55 // What kind of vmObject is this?
56 bool is_array_klass() const { return true; }
57
58 // The one-level type of the array elements.
59 virtual ciKlass* element_klass() { return nullptr; }
60
61 static ciArrayKlass* make(ciType* klass, bool null_free = false);
62
63 int array_header_in_bytes();
64 ciInstance* component_mirror_instance() const;
65
66 virtual bool is_elem_null_free() const { return false; }
67 };
68
69 #endif // SHARE_CI_CIARRAYKLASS_HPP
|