当前位置: 首页>>代码示例>>C++>>正文


C++ instanceKlassHandle::protection_domain方法代码示例

本文整理汇总了C++中instanceKlassHandle::protection_domain方法的典型用法代码示例。如果您正苦于以下问题:C++ instanceKlassHandle::protection_domain方法的具体用法?C++ instanceKlassHandle::protection_domain怎么用?C++ instanceKlassHandle::protection_domain使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在instanceKlassHandle的用法示例。


在下文中一共展示了instanceKlassHandle::protection_domain方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: resolve_and_check_assignability

bool VerificationType::resolve_and_check_assignability(instanceKlassHandle klass, Symbol* name,
         Symbol* from_name, bool from_field_is_protected, bool from_is_array, bool from_is_object, TRAPS) {
  Klass* obj = SystemDictionary::resolve_or_fail(
      name, Handle(THREAD, klass->class_loader()),
      Handle(THREAD, klass->protection_domain()), true, CHECK_false);
  if (log_is_enabled(Debug, class, resolve)) {
    Verifier::trace_class_resolution(obj, klass());
  }

  KlassHandle this_class(THREAD, obj);

  if (this_class->is_interface() && (!from_field_is_protected ||
      from_name != vmSymbols::java_lang_Object())) {
    // If we are not trying to access a protected field or method in
    // java.lang.Object then, for arrays, we only allow assignability
    // to interfaces java.lang.Cloneable and java.io.Serializable.
    // Otherwise, we treat interfaces as java.lang.Object.
    return !from_is_array ||
      this_class == SystemDictionary::Cloneable_klass() ||
      this_class == SystemDictionary::Serializable_klass();
  } else if (from_is_object) {
    Klass* from_class = SystemDictionary::resolve_or_fail(
        from_name, Handle(THREAD, klass->class_loader()),
        Handle(THREAD, klass->protection_domain()), true, CHECK_false);
    if (log_is_enabled(Debug, class, resolve)) {
      Verifier::trace_class_resolution(from_class, klass());
    }
    return InstanceKlass::cast(from_class)->is_subclass_of(this_class());
  }

  return false;
}
开发者ID:lmsf,项目名称:jdk9-dev,代码行数:32,代码来源:verificationType.cpp


注:本文中的instanceKlassHandle::protection_domain方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。