1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-08 11:38:21 +02:00

Fixed some extension issues

This commit is contained in:
Brian Fiete 2020-06-05 16:16:14 -07:00
parent 34b846b11c
commit 4b15ad576f
2 changed files with 31 additions and 20 deletions

View file

@ -7183,7 +7183,7 @@ void BfCompiler::GenerateAutocompleteInfo()
else
methodInstance = bfModule->GetRawMethodInstanceAtIdx(methodEntry.mTypeInstance, methodEntry.mMethodDef->mIdx);
auto curMethodInstance = methodInstance;
curMethodInstance = methodMatchInfo->mCurMethodInstance;
curMethodInstance = methodMatchInfo->mCurMethodInstance;
SetAndRestoreValue<BfTypeInstance*> prevTypeInstance(bfModule->mCurTypeInstance, methodMatchInfo->mCurTypeInstance);
SetAndRestoreValue<BfMethodInstance*> prevMethodInstance(bfModule->mCurMethodInstance, curMethodInstance);
@ -7210,6 +7210,9 @@ void BfCompiler::GenerateAutocompleteInfo()
}
}
if (methodInstance->mMethodDef->mMethodType == BfMethodType_Extension)
methodText += "(extension) ";
if (methodInstance->mMethodDef->mMethodType != BfMethodType_Ctor)
{
if (methodInstance->mReturnType != NULL)
@ -7265,11 +7268,14 @@ void BfCompiler::GenerateAutocompleteInfo()
{
auto paramKind = methodInstance->GetParamKind(paramIdx);
if ((paramKind == BfParamKind_ImplicitCapture) || (paramKind == BfParamKind_AppendIdx))
continue;
continue;
if (dispParamIdx > 0)
methodText += ",\x1 ";
if ((paramIdx == 0) && (methodInstance->mMethodDef->mMethodType == BfMethodType_Extension))
continue;
auto type = methodInstance->GetParamType(paramIdx);
BfExpression* paramInitializer = methodInstance->GetParamInitializer(paramIdx);