本文整理汇总了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;
}
示例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));
}
}
示例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;
}
示例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();
}
}
示例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;
}
示例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;
}
}
示例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();
}
}
示例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;
}
}