hotspot/src/share/vm/runtime/fieldDescriptor.cpp
changeset 12772 d317e5e08194
parent 10546 e79347eebbc5
child 13101 67539edd246d
equal deleted inserted replaced
12724:1e3d7ca55ffc 12772:d317e5e08194
    26 #include "classfile/systemDictionary.hpp"
    26 #include "classfile/systemDictionary.hpp"
    27 #include "classfile/vmSymbols.hpp"
    27 #include "classfile/vmSymbols.hpp"
    28 #include "memory/resourceArea.hpp"
    28 #include "memory/resourceArea.hpp"
    29 #include "memory/universe.inline.hpp"
    29 #include "memory/universe.inline.hpp"
    30 #include "oops/instanceKlass.hpp"
    30 #include "oops/instanceKlass.hpp"
       
    31 #include "oops/fieldStreams.hpp"
    31 #include "runtime/fieldDescriptor.hpp"
    32 #include "runtime/fieldDescriptor.hpp"
    32 #include "runtime/handles.inline.hpp"
    33 #include "runtime/handles.inline.hpp"
    33 #include "runtime/signature.hpp"
    34 #include "runtime/signature.hpp"
    34 
    35 
    35 
    36 
    36 oop fieldDescriptor::loader() const {
    37 oop fieldDescriptor::loader() const {
    37   return instanceKlass::cast(_cp->pool_holder())->class_loader();
    38   return instanceKlass::cast(_cp->pool_holder())->class_loader();
       
    39 }
       
    40 
       
    41 Symbol* fieldDescriptor::generic_signature() const {
       
    42   int idx = 0;
       
    43   instanceKlass* ik = instanceKlass::cast(field_holder());
       
    44   for (AllFieldStream fs(ik); !fs.done(); fs.next()) {
       
    45     if (idx == _index) {
       
    46       return fs.generic_signature();
       
    47     } else {
       
    48       idx ++;
       
    49     }
       
    50   }
       
    51   assert(false, "should never happen");
       
    52   return NULL;
    38 }
    53 }
    39 
    54 
    40 typeArrayOop fieldDescriptor::annotations() const {
    55 typeArrayOop fieldDescriptor::annotations() const {
    41   instanceKlass* ik = instanceKlass::cast(field_holder());
    56   instanceKlass* ik = instanceKlass::cast(field_holder());
    42   objArrayOop md = ik->fields_annotations();
    57   objArrayOop md = ik->fields_annotations();