< prev index next > src/hotspot/share/oops/symbol.hpp
Print this page
return contains_utf8_at(0, prefix, len);
}
bool starts_with(const char* prefix) const {
return starts_with(prefix, (int) strlen(prefix));
}
- bool starts_with(int prefix_char) const {
+ bool starts_with(char prefix_char) const {
return contains_byte_at(0, prefix_char);
}
// Tests if the symbol ends with the given suffix.
bool ends_with(const char* suffix, int len) const {
return contains_utf8_at(utf8_length() - len, suffix, len);
if (position < 0) return false; // can happen with ends_with
if (position >= utf8_length()) return false;
return code_byte == char_at(position);
}
+ // True if this is a descriptor for a method with void return.
+ // (Assumes it is a valid descriptor.)
+ bool is_void_method_signature() const {
+ return starts_with('(') && ends_with('V');
+ }
+
+ bool is_Q_signature() const;
+ bool is_Q_array_signature() const;
+ bool is_Q_method_signature() const;
+ Symbol* fundamental_name(TRAPS);
+ bool is_same_fundamental_type(Symbol*) const;
+
// Tests if the symbol starts with the given prefix.
int index_of_at(int i, const char* str, int len) const;
// Three-way compare for sorting; returns -1/0/1 if receiver is </==/> than arg
// note that the ordering is not alfabetical
// Printing
void print_symbol_on(outputStream* st = NULL) const;
void print_utf8_on(outputStream* st) const;
void print_on(outputStream* st) const; // First level print
void print_value_on(outputStream* st) const; // Second level print.
+ void print_Qvalue_on(outputStream* st) const; // Second level print for Q-types.
// printing on default output stream
void print() const;
void print_value() const;
< prev index next >