Lines Matching defs:signature

53 #include "runtime/signature.hpp"
583 Symbol* signature = cp->symbol_at(signature_ref_index);
589 if (signature->byte_at(0) == JVM_SIGNATURE_FUNC) {
591 "Field", name, signature, CHECK_(nullHandle));
594 verify_legal_field_signature(name, signature, CHECK_(nullHandle));
601 if (signature->byte_at(0) != JVM_SIGNATURE_FUNC) {
603 "Method", name, signature, CHECK_(nullHandle));
606 verify_legal_method_signature(name, signature, CHECK_(nullHandle));
657 Symbol* signature = cp->method_type_signature_at(index);
658 verify_legal_method_signature(no_name, signature, CHECK_(nullHandle));
742 Symbol* _sig; // signature
1095 // A generic signature slot only exists for field with generic
1096 // signature attribute. And the access flag is set with
1098 // signature slots are at the end of the field array and after all
1105 // [generic signature index]
1106 // [generic signature index]
1110 // a slot is reserved in the temporary array for the generic signature
1118 // The generic signature slots start after all other fields' data.
1142 "Invalid constant pool index %u for field signature in class file %s",
1203 Symbol* signature = injected[n].signature();
1208 signature == cp->symbol_at(f->signature_index())) {
1228 BasicType type = FieldType::basic_type(injected[n].signature());
1244 // for generic signature indexes are discarded.
1272 Symbol* sig = fs.signature();
1273 // If no duplicates, add name/signature in hashtable names_and_sigs.
1281 classfile_parse_error("Duplicate field name&signature in class file %s",
1643 "%s \"%s\" in class %s has illegal signature \"%s\"", type,
1848 "Illegal constant pool index %u for method signature in class file %s",
1850 Symbol* signature = cp->symbol_at(signature_index);
1868 verify_legal_method_signature(name, signature, CHECK_(nullHandle));
1870 classfile_parse_error("Too many arguments in method signature in class file %s", CHECK_(nullHandle));
2339 signature == vmSymbols::void_method_signature()) {
2347 signature == vmSymbols::void_method_signature() &&
2427 // If no duplicates, add name/signature in hashtable names_and_sigs.
2428 if (!put_after_lookup(m->name(), m->signature(), names_and_sigs)) {
2435 classfile_parse_error("Duplicate method name&signature in class file %s",
4060 Symbol* signature = m->signature();
4067 super_m = instanceKlass::cast(k)->lookup_method(name, signature);
4087 signature->as_C_string()
4440 // Checks if signature is a legal field signature.
4441 void ClassFileParser::verify_legal_field_signature(Symbol* name, Symbol* signature, TRAPS) {
4445 char* bytes = signature->as_utf8_flexible_buffer(THREAD, buf, fixed_buffer_size);
4446 unsigned int length = signature->utf8_length();
4450 throwIllegalSignature("Field", name, signature, CHECK);
4454 // Checks if signature is a legal method signature.
4456 int ClassFileParser::verify_legal_method_signature(Symbol* name, Symbol* signature, TRAPS) {
4465 char* p = signature->as_utf8_flexible_buffer(THREAD, buf, fixed_buffer_size);
4466 unsigned int length = signature->utf8_length();
4483 // The first non-signature thing better be a ')'
4501 throwIllegalSignature("Method", name, signature, CHECK_0);
4627 // be taken as a field signature. Allow "void" if void_ok.
4628 // Return a pointer to just past the signature.
4629 // Return NULL if no legal signature is found.
4630 char* ClassFileParser::skip_over_field_signature(char* signature,
4636 switch (signature[0]) {
4646 return signature + 1;
4650 char* p = skip_over_field_name(signature + 1, true, --length);
4653 if (p && (p - signature) > 1 && p[0] == ';') {
4659 signature++;
4660 while (length > 0 && signature[0] != ';') {
4661 if (signature[0] == '.') {
4665 signature++;
4667 if (signature[0] == ';') { return signature + 1; }
4678 // The rest of what's there better be a legal signature
4679 signature++;