| 9856 | } |
| 9857 | |
| 9858 | BF_EXPORT bool BF_CALLTYPE BfCompiler_ClassifySource(BfCompiler* bfCompiler, BfPassInstance* bfPassInstance, BfResolvePassData* resolvePassData) |
| 9859 | { |
| 9860 | BP_ZONE("BfCompiler_ClassifySource"); |
| 9861 | |
| 9862 | bfCompiler->mSystem->AssertWeHaveLock(); |
| 9863 | |
| 9864 | String& autoCompleteResultString = *gTLStrReturn.Get(); |
| 9865 | autoCompleteResultString.clear(); |
| 9866 | |
| 9867 | bfPassInstance->mCompiler = bfCompiler; |
| 9868 | for (auto parser : resolvePassData->mParsers) |
| 9869 | bfPassInstance->mFilterErrorsTo.Add(parser->mSourceData); |
| 9870 | bfPassInstance->mTrimMessagesToCursor = true; |
| 9871 | |
| 9872 | SetAndRestoreValue<BfResolvePassData*> prevCompilerResolvePassData(bfCompiler->mResolvePassData, resolvePassData); |
| 9873 | SetAndRestoreValue<BfPassInstance*> prevPassInstance(bfCompiler->mPassInstance, bfPassInstance); |
| 9874 | bool canceled = false; |
| 9875 | |
| 9876 | if ((resolvePassData->mAutoComplete != NULL) && (!resolvePassData->mParsers.IsEmpty())) |
| 9877 | { |
| 9878 | bfCompiler->ProcessAutocompleteTempType(); |
| 9879 | } |
| 9880 | else |
| 9881 | canceled = !bfCompiler->Compile(""); |
| 9882 | |
| 9883 | return !canceled; |
| 9884 | } |
| 9885 | |
| 9886 | BF_EXPORT const char* BF_CALLTYPE BfCompiler_GetCollapseRegions(BfCompiler* bfCompiler, BfParser* bfParser, BfResolvePassData* resolvePassData, char* explicitEmitTypeNames) |
| 9887 | { |
nothing calls this directly
no test coverage detected