MCPcopy Create free account
hub / github.com/beefytech/Beef / FixitGetMemberInsertPos

Method FixitGetMemberInsertPos

IDEHelper/Compiler/BfAutoComplete.cpp:3479–3507  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3477}
3478
3479int BfAutoComplete::FixitGetMemberInsertPos(BfTypeDef* typeDef)
3480{
3481 BfTypeDeclaration* typeDecl = typeDef->mTypeDeclaration;
3482 BfTokenNode* openNode = NULL;
3483 BfTokenNode* closeNode = NULL;
3484 if (auto blockNode = BfNodeDynCast<BfBlock>(typeDecl->mDefineNode))
3485 {
3486 openNode = blockNode->mOpenBrace;
3487 closeNode = blockNode->mCloseBrace;
3488 }
3489
3490 int insertPos = -1;
3491 BfParserData* parser = typeDef->mTypeDeclaration->GetSourceData()->ToParserData();
3492 if ((parser != NULL) && (closeNode != NULL))
3493 {
3494 int startPos = openNode->mSrcStart + 1;
3495 insertPos = closeNode->mSrcStart;
3496 while (insertPos > startPos)
3497 {
3498 char prevC = parser->mSrc[insertPos - 1];
3499 if (prevC == '\n')
3500 break;
3501 insertPos--;
3502 }
3503 if (insertPos > startPos)
3504 insertPos--;
3505 }
3506 return insertPos;
3507}
3508
3509void BfAutoComplete::CheckInterfaceFixit(BfTypeInstance* typeInstance, BfAstNode* node)
3510{

Callers

nothing calls this directly

Calls 2

GetSourceDataMethod · 0.80
ToParserDataMethod · 0.45

Tested by

no test coverage detected