| 4680 | } |
| 4681 | |
| 4682 | BfType* CeDebugger::FindType(const StringImpl& name) |
| 4683 | { |
| 4684 | if (name == "System.Object") |
| 4685 | return mCeMachine->mCeModule->mContext->mBfObjectType; |
| 4686 | |
| 4687 | BfParser parser(mCompiler->mSystem); |
| 4688 | BfPassInstance passInstance(mCompiler->mSystem); |
| 4689 | parser.SetSource(name.c_str(), (int)name.length()); |
| 4690 | parser.Parse(&passInstance); |
| 4691 | |
| 4692 | BfReducer reducer; |
| 4693 | reducer.mAlloc = parser.mAlloc; |
| 4694 | reducer.mSystem = mCompiler->mSystem; |
| 4695 | reducer.mPassInstance = &passInstance; |
| 4696 | reducer.mVisitorPos = BfReducer::BfVisitorPos(parser.mRootNode); |
| 4697 | reducer.mVisitorPos.MoveNext(); |
| 4698 | reducer.mSource = &parser; |
| 4699 | auto typeRef = reducer.CreateTypeRef(parser.mRootNode->GetFirst()); |
| 4700 | parser.Close(); |
| 4701 | |
| 4702 | auto ceModule = mCeMachine->mCeModule; |
| 4703 | SetAndRestoreValue<bool> prevIgnoreErrors(ceModule->mIgnoreErrors, true); |
| 4704 | SetAndRestoreValue<bool> prevIgnoreWarning(ceModule->mIgnoreWarnings, true); |
| 4705 | |
| 4706 | return ceModule->ResolveTypeRef(typeRef, {}, BfPopulateType_Declaration, BfResolveTypeRefFlag_IgnoreLookupError); |
| 4707 | } |
| 4708 | |
| 4709 | String CeDebugger::Callstack_GetStackFrameOldFileInfo(int stackFrameIdx) |
| 4710 | { |
nothing calls this directly
no test coverage detected