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


Java ArrayKlass类代码示例

本文整理汇总了Java中sun.jvm.hotspot.oops.ArrayKlass的典型用法代码示例。如果您正苦于以下问题:Java ArrayKlass类的具体用法?Java ArrayKlass怎么用?Java ArrayKlass使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ArrayKlass类属于sun.jvm.hotspot.oops包,在下文中一共展示了ArrayKlass类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getInterfaces

import sun.jvm.hotspot.oops.ArrayKlass; //导入依赖的package包/类
List getInterfaces() {
    List myInterfaces;
    if (saKlass instanceof ArrayKlass) {
        // Actually, JLS says arrays implement Cloneable and Serializable
        // But, JVMDI-JDI just returns 0 interfaces for arrays. We follow
        // the same for consistency.
        myInterfaces = new ArrayList(0);
    } else {
        // Get a list of the sa InstanceKlass types
        List saInterfaces = ((InstanceKlass)saKlass).getDirectImplementedInterfaces();

        // Create a list of our InterfaceTypes
        int len = saInterfaces.size();
        myInterfaces = new ArrayList(len);
        for (int ii = 0; ii < len; ii++) {
            myInterfaces.add(new InterfaceTypeImpl(vm, (InstanceKlass)saInterfaces.get(ii)));
        }
    }
    return myInterfaces;
}
 
开发者ID:RedlineResearch,项目名称:OLD-OpenJDK8,代码行数:21,代码来源:ReferenceTypeImpl.java

示例2: componentType

import sun.jvm.hotspot.oops.ArrayKlass; //导入依赖的package包/类
public Type componentType() throws ClassNotLoadedException {
    ArrayKlass k = (ArrayKlass) ref();
    if (k instanceof ObjArrayKlass) {
        Klass elementKlass = ((ObjArrayKlass)k).getElementKlass();
        if (elementKlass == null) {
            throw new ClassNotLoadedException(componentSignature());
        } else {
            return vm.referenceType(elementKlass);
        }
    } else {
        // It's a primitive type
        return vm.primitiveTypeMirror(signature().charAt(1));
    }
}
 
开发者ID:infobip,项目名称:infobip-open-jdk-8,代码行数:15,代码来源:ArrayTypeImpl.java

示例3: addReferenceType

import sun.jvm.hotspot.oops.ArrayKlass; //导入依赖的package包/类
private synchronized ReferenceTypeImpl addReferenceType(Klass kk) {
    if (typesByID == null) {
        initReferenceTypes();
    }
    ReferenceTypeImpl newRefType = null;
    if (kk instanceof ObjArrayKlass || kk instanceof TypeArrayKlass) {
        newRefType = new ArrayTypeImpl(this, (ArrayKlass)kk);
    } else if (kk instanceof InstanceKlass) {
        if (kk.isInterface()) {
            newRefType = new InterfaceTypeImpl(this, (InstanceKlass)kk);
        } else {
            newRefType = new ClassTypeImpl(this, (InstanceKlass)kk);
        }
    } else {
        throw new RuntimeException("should not reach here:" + kk);
    }

    typesByID.put(kk, newRefType);
    typesBySignature.add(newRefType);
    return newRefType;
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:22,代码来源:VirtualMachineImpl.java

示例4: baseSourceName

import sun.jvm.hotspot.oops.ArrayKlass; //导入依赖的package包/类
String baseSourceName() throws AbsentInformationException {
  if (saKlass instanceof ArrayKlass) {
        throw new AbsentInformationException();
  }
  Symbol sym = ((InstanceKlass)saKlass).getSourceFileName();
  if (sym != null) {
      return sym.asString();
  } else {
      throw new AbsentInformationException();
  }
}
 
开发者ID:ojdkbuild,项目名称:lookaside_java-1.8.0-openjdk,代码行数:12,代码来源:ReferenceTypeImpl.java

示例5: addReferenceType

import sun.jvm.hotspot.oops.ArrayKlass; //导入依赖的package包/类
private synchronized ReferenceTypeImpl addReferenceType(Klass kk) {
    if (typesByID == null) {
        initReferenceTypes();
    }
    ReferenceTypeImpl newRefType = null;
    if (kk instanceof ObjArrayKlass || kk instanceof TypeArrayKlass) {
        newRefType = new ArrayTypeImpl(this, (ArrayKlass)kk);
    } else if (kk instanceof InstanceKlass) {
        if (kk.isInterface()) {
            newRefType = new InterfaceTypeImpl(this, (InstanceKlass)kk);
        } else {
            newRefType = new ClassTypeImpl(this, (InstanceKlass)kk);
        }
    } else {
        throw new RuntimeException("should not reach here");
    }

    typesByID.put(kk, newRefType);
    typesBySignature.add(newRefType);
    return newRefType;
}
 
开发者ID:aducode,项目名称:openjdk-source-code-learn,代码行数:22,代码来源:VirtualMachineImpl.java

示例6: genericSignature

import sun.jvm.hotspot.oops.ArrayKlass; //导入依赖的package包/类
public String genericSignature() {
    if (saKlass instanceof ArrayKlass) {
        return null;
    } else {
        Symbol genSig = ((InstanceKlass)saKlass).getGenericSignature();
        return (genSig != null)? genSig.asString() : null;
    }
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:9,代码来源:ReferenceTypeImpl.java

示例7: constantPoolCount

import sun.jvm.hotspot.oops.ArrayKlass; //导入依赖的package包/类
public int constantPoolCount() {
    if (!vm.canGetConstantPool()) {
        throw new UnsupportedOperationException("Cannot get constant pool");
    }
    if (saKlass instanceof ArrayKlass) {
        return 0;
    } else {
        return (int)((InstanceKlass)saKlass).getConstants().getLength();
    }
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:11,代码来源:ReferenceTypeImpl.java

示例8: getJavaSuper

import sun.jvm.hotspot.oops.ArrayKlass; //导入依赖的package包/类
private Klass getJavaSuper(Klass klass) {
  if (klass instanceof InstanceKlass) {
    return getSuper((InstanceKlass) klass);
  } else if (klass instanceof ArrayKlass) {
    return objectKlass;
  } else {
    return null;
  }
}
 
开发者ID:geoff-addepar,项目名称:heap-dump,代码行数:10,代码来源:HeapHprofBinWriter.java


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