src/hotspot/share/classfile/verifier.cpp
changeset 51329 9c68699bebe5
parent 51070 2f4c3cac8556
child 51444 3e5d28e6de32
equal deleted inserted replaced
51328:fad2334b2906 51329:9c68699bebe5
  2676 bool ClassVerifier::is_same_or_direct_interface(
  2676 bool ClassVerifier::is_same_or_direct_interface(
  2677     InstanceKlass* klass,
  2677     InstanceKlass* klass,
  2678     VerificationType klass_type,
  2678     VerificationType klass_type,
  2679     VerificationType ref_class_type) {
  2679     VerificationType ref_class_type) {
  2680   if (ref_class_type.equals(klass_type)) return true;
  2680   if (ref_class_type.equals(klass_type)) return true;
  2681   Array<Klass*>* local_interfaces = klass->local_interfaces();
  2681   Array<InstanceKlass*>* local_interfaces = klass->local_interfaces();
  2682   if (local_interfaces != NULL) {
  2682   if (local_interfaces != NULL) {
  2683     for (int x = 0; x < local_interfaces->length(); x++) {
  2683     for (int x = 0; x < local_interfaces->length(); x++) {
  2684       Klass* k = local_interfaces->at(x);
  2684       InstanceKlass* k = local_interfaces->at(x);
  2685       assert (k != NULL && k->is_interface(), "invalid interface");
  2685       assert (k != NULL && k->is_interface(), "invalid interface");
  2686       if (ref_class_type.equals(VerificationType::reference_type(k->name()))) {
  2686       if (ref_class_type.equals(VerificationType::reference_type(k->name()))) {
  2687         return true;
  2687         return true;
  2688       }
  2688       }
  2689     }
  2689     }