319 }
320
321 VerificationType get_component(ClassVerifier* context, TRAPS) const;
322
323 int dimensions() const {
324 assert(is_array(), "Must be an array");
325 int index = 0;
326 while (name()->byte_at(index) == '[') index++;
327 return index;
328 }
329
330 void print_on(outputStream* st) const;
331
332 private:
333
334 bool is_reference_assignable_from(
335 const VerificationType&, ClassVerifier*, bool from_field_is_protected,
336 TRAPS) const;
337
338 public:
339 static bool resolve_and_check_assignability(instanceKlassHandle klass, Symbol* name,
340 Symbol* from_name, bool from_field_is_protected,
341 bool from_is_array, bool from_is_object,
342 TRAPS);
343 };
344
345 #endif // SHARE_VM_CLASSFILE_VERIFICATIONTYPE_HPP
|
319 }
320
321 VerificationType get_component(ClassVerifier* context, TRAPS) const;
322
323 int dimensions() const {
324 assert(is_array(), "Must be an array");
325 int index = 0;
326 while (name()->byte_at(index) == '[') index++;
327 return index;
328 }
329
330 void print_on(outputStream* st) const;
331
332 private:
333
334 bool is_reference_assignable_from(
335 const VerificationType&, ClassVerifier*, bool from_field_is_protected,
336 TRAPS) const;
337
338 public:
339 static bool resolve_and_check_assignability(InstanceKlass* klass, Symbol* name,
340 Symbol* from_name, bool from_field_is_protected,
341 bool from_is_array, bool from_is_object,
342 TRAPS);
343 };
344
345 #endif // SHARE_VM_CLASSFILE_VERIFICATIONTYPE_HPP
|