44 int _count; // number of parameter types in the signature
45
46 friend class ciMethod;
47 friend class ciBytecodeStream;
48 friend class ciObjectFactory;
49
50 ciSignature(ciKlass* accessing_klass, const constantPoolHandle& cpool, ciSymbol* signature);
51 ciSignature(ciKlass* accessing_klass, ciSymbol* signature, ciMethodType* method_type);
52
53 void get_all_klasses();
54
55 Symbol* get_symbol() const { return _symbol->get_symbol(); }
56
57 public:
58 ciSymbol* as_symbol() const { return _symbol; }
59 ciKlass* accessing_klass() const { return _accessing_klass; }
60
61 ciType* return_type() const;
62 ciType* type_at(int index) const;
63 bool returns_never_null() const;
64 bool is_never_null_at(int index) const;
65
66 int size() const { return _size; }
67 int count() const { return _count; }
68
69 int arg_size_for_bc(Bytecodes::Code bc) { return size() + (Bytecodes::has_receiver(bc) ? 1 : 0); }
70
71 bool equals(ciSignature* that);
72
73 void print_signature();
74 void print();
75 };
76
77 #endif // SHARE_CI_CISIGNATURE_HPP
|
44 int _count; // number of parameter types in the signature
45
46 friend class ciMethod;
47 friend class ciBytecodeStream;
48 friend class ciObjectFactory;
49
50 ciSignature(ciKlass* accessing_klass, const constantPoolHandle& cpool, ciSymbol* signature);
51 ciSignature(ciKlass* accessing_klass, ciSymbol* signature, ciMethodType* method_type);
52
53 void get_all_klasses();
54
55 Symbol* get_symbol() const { return _symbol->get_symbol(); }
56
57 public:
58 ciSymbol* as_symbol() const { return _symbol; }
59 ciKlass* accessing_klass() const { return _accessing_klass; }
60
61 ciType* return_type() const;
62 ciType* type_at(int index) const;
63 bool returns_never_null() const;
64 bool maybe_returns_never_null() const;
65 bool is_never_null_at(int index) const;
66
67 int size() const { return _size; }
68 int count() const { return _count; }
69
70 int arg_size_for_bc(Bytecodes::Code bc) { return size() + (Bytecodes::has_receiver(bc) ? 1 : 0); }
71
72 bool equals(ciSignature* that);
73
74 void print_signature();
75 void print();
76 };
77
78 #endif // SHARE_CI_CISIGNATURE_HPP
|