Returns the valid access flags, that is, Java modifier bits relevant to the ClassDef type (class or interface). These are all in the lower 16b and do not contain runtime flags.
| 221 | // Returns the valid access flags, that is, Java modifier bits relevant to the ClassDef type |
| 222 | // (class or interface). These are all in the lower 16b and do not contain runtime flags. |
| 223 | uint32_t GetJavaAccessFlags() const { |
| 224 | // Make sure that none of our runtime-only flags are set. |
| 225 | static_assert((kAccValidClassFlags & kAccJavaFlagsMask) == kAccValidClassFlags, |
| 226 | "Valid class flags not a subset of Java flags"); |
| 227 | static_assert((kAccValidInterfaceFlags & kAccJavaFlagsMask) == kAccValidInterfaceFlags, |
| 228 | "Valid interface flags not a subset of Java flags"); |
| 229 | |
| 230 | if ((access_flags_ & kAccInterface) != 0) { |
| 231 | // Interface. |
| 232 | return access_flags_ & kAccValidInterfaceFlags; |
| 233 | } else { |
| 234 | // Class. |
| 235 | return access_flags_ & kAccValidClassFlags; |
| 236 | } |
| 237 | } |
| 238 | |
| 239 | template <typename Visitor> |
| 240 | void VisitMethods(const DexFile* dex_file, const Visitor& visitor) const; |
nothing calls this directly
no outgoing calls
no test coverage detected