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

Method AutocompleteCheckType

IDEHelper/DbgExprEvaluator.cpp:3455–3498  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3453}
3454
3455void DbgExprEvaluator::AutocompleteCheckType(BfTypeReference* typeReference)
3456{
3457 if (!IsAutoCompleteNode(typeReference))
3458 return;
3459
3460 if (auto namedTypeRef = BfNodeDynCast <BfNamedTypeReference>(typeReference))
3461 {
3462 String filter = namedTypeRef->ToString();
3463 mAutoComplete->mInsertStartIdx = namedTypeRef->GetSrcStart();
3464 mAutoComplete->mInsertEndIdx = namedTypeRef->GetSrcEnd();
3465
3466 AutocompleteAddTopLevelTypes(filter);
3467 }
3468 else if (auto qualifiedTypeRef = BfNodeDynCast<BfQualifiedTypeReference>(typeReference))
3469 {
3470 if (IsAutoCompleteNode(qualifiedTypeRef->mLeft))
3471 {
3472 AutocompleteCheckType(qualifiedTypeRef->mLeft);
3473 return;
3474 }
3475
3476 auto dbgType = ResolveTypeRef(qualifiedTypeRef->mLeft);
3477 if (dbgType != NULL)
3478 {
3479 String filter;
3480 if (qualifiedTypeRef->mRight != NULL)
3481 {
3482 filter = qualifiedTypeRef->mRight->ToString();
3483 mAutoComplete->mInsertStartIdx = qualifiedTypeRef->mRight->GetSrcStart();
3484 mAutoComplete->mInsertEndIdx = qualifiedTypeRef->mRight->GetSrcEnd();
3485 }
3486 else
3487 {
3488 mAutoComplete->mInsertStartIdx = qualifiedTypeRef->mDot->GetSrcEnd();
3489 mAutoComplete->mInsertEndIdx = qualifiedTypeRef->mDot->GetSrcEnd();
3490 }
3491 AutocompleteAddMembers(dbgType, false, false, filter);
3492 }
3493 }
3494 else if (auto elementedTypeRef = BfNodeDynCast<BfElementedTypeRef>(typeReference))
3495 {
3496 AutocompleteCheckType(elementedTypeRef->mElementType);
3497 }
3498}
3499
3500void DbgExprEvaluator::AutocompleteAddTopLevelTypes(const StringImpl& filter)
3501{

Callers

nothing calls this directly

Calls 3

ToStringMethod · 0.45
GetSrcStartMethod · 0.45
GetSrcEndMethod · 0.45

Tested by

no test coverage detected