class DexFile; template <class MirrorType> class Handle; template <class MirrorType> class ObjPtr; class Thread;
} // namespace art
namespace openjdkjvmti {
// Class that can redefine a single class's methods. // TODO We should really make this be driven by an outside class so we can do multiple classes at // the same time and have less required cleanup. class ClassLoaderHelper { public: staticbool AddToClassLoader(art::Thread* self,
art::Handle<art::mirror::ClassLoader> loader, const art::DexFile* dex_file)
REQUIRES_SHARED(art::Locks::mutator_lock_);
// Finds a java.lang.DexFile object that is associated with the given ClassLoader. Each of these // j.l.DexFile objects holds several art::DexFile*s in it. // TODO This should return the actual source java.lang.DexFile object for the klass being loaded. static art::ObjPtr<art::mirror::Object> FindSourceDexFileObject(
art::Thread* self, art::Handle<art::mirror::ClassLoader> loader)
REQUIRES_SHARED(art::Locks::mutator_lock_);
// Calls visitor on each java.lang.DexFile associated with the given loader. The visitor should // return true to continue on to the next DexFile or false to stop iterating. template<typename Visitor> staticinlinevoid VisitDexFileObjects(art::Thread* self,
art::Handle<art::mirror::ClassLoader> loader, const Visitor& visitor)
REQUIRES_SHARED(art::Locks::mutator_lock_);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.