internal ClassLoaderReference GetMirrorOf(ClassLoaderId classLoader) { if (classLoader == default(ClassLoaderId)) { return(null); } return(new ClassLoaderReference(this, classLoader)); }
internal ClassLoaderReference(VirtualMachine virtualMachine, ClassLoaderId classLoaderId) : base(virtualMachine, classLoaderId, null) { Contract.Requires(virtualMachine != null); }
public Error GetClassLoader(out ClassLoaderId classLoader, ReferenceTypeId referenceType) { byte[] packet = new byte[HeaderSize + ReferenceTypeIdSize]; int id = GetMessageId(); SerializeHeader(packet, id, ReferenceTypeCommand.ClassLoader); WriteReferenceTypeId(packet, HeaderSize, referenceType); byte[] response = SendPacket(id, packet); Error errorCode = ReadErrorCode(response); if (errorCode != Error.None) { classLoader = default(ClassLoaderId); return errorCode; } int offset = HeaderSize; classLoader = (ClassLoaderId)ReadObjectId(response, ref offset); return Error.None; }
public Error GetClassLoaderVisibleClasses(out TaggedReferenceTypeId[] classes, ClassLoaderId classLoaderObject) { throw new NotImplementedException(); }
internal ClassLoaderReference(VirtualMachine virtualMachine, ClassLoaderId classLoaderId) : base(virtualMachine, classLoaderId, null) { Contract.Requires(virtualMachine != null); }
public Error GetClassLoader(ReferenceTypeId referenceType, out ClassLoaderId classLoader) { classLoader = default(ClassLoaderId); JniEnvironment nativeEnvironment; JvmtiEnvironment environment; jvmtiError error = GetEnvironment(out environment, out nativeEnvironment); if (error != jvmtiError.None) return GetStandardError(error); using (var classHandle = VirtualMachine.GetLocalReferenceForClass(nativeEnvironment, referenceType)) { if (!classHandle.IsAlive) return Error.InvalidClass; jobject classLoaderObject; error = Environment.GetClassLoader(classHandle.Value, out classLoaderObject); if (error != jvmtiError.None) return GetStandardError(error); classLoader = (ClassLoaderId)VirtualMachine.TrackLocalObjectReference(classLoaderObject, environment, nativeEnvironment, true); return Error.None; } }
internal ClassLoaderReference GetMirrorOf(ClassLoaderId classLoader) { if (classLoader == default(ClassLoaderId)) return null; return new ClassLoaderReference(this, classLoader); }