| 1976 | } |
| 1977 | |
| 1978 | dex::TypeIndex DexFileVerifier::FindFirstClassDataDefiner(const uint8_t* ptr, bool* success) { |
| 1979 | ClassDataItemIterator it(*dex_file_, ptr); |
| 1980 | *success = true; |
| 1981 | |
| 1982 | if (it.HasNextStaticField() || it.HasNextInstanceField()) { |
| 1983 | LOAD_FIELD(field, it.GetMemberIndex(), "first_class_data_definer field_id", |
| 1984 | *success = false; return dex::TypeIndex(DexFile::kDexNoIndex16)) |
| 1985 | return field->class_idx_; |
| 1986 | } |
| 1987 | |
| 1988 | if (it.HasNextMethod()) { |
| 1989 | LOAD_METHOD(method, it.GetMemberIndex(), "first_class_data_definer method_id", |
| 1990 | *success = false; return dex::TypeIndex(DexFile::kDexNoIndex16)) |
| 1991 | return method->class_idx_; |
| 1992 | } |
| 1993 | |
| 1994 | return dex::TypeIndex(DexFile::kDexNoIndex16); |
| 1995 | } |
| 1996 | |
| 1997 | dex::TypeIndex DexFileVerifier::FindFirstAnnotationsDirectoryDefiner(const uint8_t* ptr, |
| 1998 | bool* success) { |
nothing calls this directly
no test coverage detected