376 _end = len + 1; |
376 _end = len + 1; |
377 return; |
377 return; |
378 } |
378 } |
379 |
379 |
380 _begin = _end; |
380 _begin = _end; |
381 int t = sig->byte_at(_begin); |
381 int t = sig->char_at(_begin); |
382 switch (t) { |
382 switch (t) { |
383 case 'B': _type = T_BYTE; break; |
383 case 'B': _type = T_BYTE; break; |
384 case 'C': _type = T_CHAR; break; |
384 case 'C': _type = T_CHAR; break; |
385 case 'D': _type = T_DOUBLE; break; |
385 case 'D': _type = T_DOUBLE; break; |
386 case 'F': _type = T_FLOAT; break; |
386 case 'F': _type = T_FLOAT; break; |
403 BasicType type() const { return _type; } |
403 BasicType type() const { return _type; } |
404 Symbol* as_symbol(TRAPS); |
404 Symbol* as_symbol(TRAPS); |
405 enum FailureMode { ReturnNull, CNFException, NCDFError }; |
405 enum FailureMode { ReturnNull, CNFException, NCDFError }; |
406 Klass* as_klass(Handle class_loader, Handle protection_domain, FailureMode failure_mode, TRAPS); |
406 Klass* as_klass(Handle class_loader, Handle protection_domain, FailureMode failure_mode, TRAPS); |
407 oop as_java_mirror(Handle class_loader, Handle protection_domain, FailureMode failure_mode, TRAPS); |
407 oop as_java_mirror(Handle class_loader, Handle protection_domain, FailureMode failure_mode, TRAPS); |
408 const jbyte* raw_bytes() { return _signature->bytes() + _begin; } |
408 const u1* raw_bytes() { return _signature->bytes() + _begin; } |
409 int raw_length() { return _end - _begin; } |
409 int raw_length() { return _end - _begin; } |
410 |
410 |
411 // return same as_symbol except allocation of new symbols is avoided. |
411 // return same as_symbol except allocation of new symbols is avoided. |
412 Symbol* as_symbol_or_null(); |
412 Symbol* as_symbol_or_null(); |
413 |
413 |
414 // count the number of references in the signature |
414 // count the number of references in the signature |