| 10837 | } |
| 10838 | |
| 10839 | bool BfModule::WantsObjectAccessCheck(BfType* type) |
| 10840 | { |
| 10841 | if ((mBfIRBuilder->mIgnoreWrites) || (!type->IsObjectOrInterface()) || (mCurMethodState == NULL) || (mCurMethodState->mIgnoreObjectAccessCheck)) |
| 10842 | return false; |
| 10843 | |
| 10844 | if ((!mCompiler->mOptions.mObjectHasDebugFlags) || (mIsComptimeModule)) |
| 10845 | return false; |
| 10846 | |
| 10847 | bool emitObjectAccessCheck = mCompiler->mOptions.mEmitObjectAccessCheck; |
| 10848 | auto typeOptions = GetTypeOptions(); |
| 10849 | if (typeOptions != NULL) |
| 10850 | emitObjectAccessCheck = typeOptions->Apply(emitObjectAccessCheck, BfOptionFlags_EmitObjectAccessCheck); |
| 10851 | if (!emitObjectAccessCheck) |
| 10852 | return false; |
| 10853 | |
| 10854 | return true; |
| 10855 | } |
| 10856 | |
| 10857 | void BfModule::EmitObjectAccessCheck(BfTypedValue typedVal) |
| 10858 | { |
nothing calls this directly
no test coverage detected