mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-15 06:44:10 +02:00
Fixed fixit constructor for AllowAppend, params
This commit is contained in:
parent
2896b84f7f
commit
80fcf84de2
1 changed files with 28 additions and 5 deletions
|
@ -2217,6 +2217,10 @@ bool BfAutoComplete::GetMethodInfo(BfMethodInstance* methodInst, StringImpl* sho
|
||||||
if (!isAbstract)
|
if (!isAbstract)
|
||||||
impString += ", ";
|
impString += ", ";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (methodInst->GetParamKind(paramIdx) == BfParamKind_Params)
|
||||||
|
methodName += "params ";
|
||||||
|
|
||||||
methodName += mModule->TypeToString(methodInst->GetParamType(paramIdx), nameFlags);
|
methodName += mModule->TypeToString(methodInst->GetParamType(paramIdx), nameFlags);
|
||||||
methodName += " ";
|
methodName += " ";
|
||||||
methodName += methodDef->mParams[paramIdx]->mName;
|
methodName += methodDef->mParams[paramIdx]->mName;
|
||||||
|
@ -2229,8 +2233,13 @@ bool BfAutoComplete::GetMethodInfo(BfMethodInstance* methodInst, StringImpl* sho
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isAbstract)
|
if (!isAbstract)
|
||||||
|
{
|
||||||
|
if (methodInst->GetParamKind(paramIdx) == BfParamKind_Params)
|
||||||
|
impString += "params ";
|
||||||
|
|
||||||
impString += methodDef->mParams[paramIdx]->mName;
|
impString += methodDef->mParams[paramIdx]->mName;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
methodName += ")";
|
methodName += ")";
|
||||||
|
|
||||||
if (methodInst->GetNumGenericArguments() > 0)
|
if (methodInst->GetNumGenericArguments() > 0)
|
||||||
|
@ -3482,13 +3491,20 @@ void BfAutoComplete::FixitAddConstructor(BfTypeInstance *typeInstance)
|
||||||
|
|
||||||
int insertPos = FixitGetMemberInsertPos(mModule->mCurTypeInstance->mTypeDef);
|
int insertPos = FixitGetMemberInsertPos(mModule->mCurTypeInstance->mTypeDef);
|
||||||
String methodStr = "\f\a";
|
String methodStr = "\f\a";
|
||||||
|
if (methodInstance->mMethodDef->mHasAppend)
|
||||||
|
methodStr += "[AllowAppend]\r";
|
||||||
methodStr += "public this(";
|
methodStr += "public this(";
|
||||||
|
int useParamIdx = 0;
|
||||||
for (int paramIdx = 0; paramIdx < methodInstance->GetParamCount(); paramIdx++)
|
for (int paramIdx = 0; paramIdx < methodInstance->GetParamCount(); paramIdx++)
|
||||||
{
|
{
|
||||||
if (paramIdx > 0)
|
if (useParamIdx > 0)
|
||||||
methodStr += ", ";
|
methodStr += ", ";
|
||||||
|
|
||||||
switch (methodInstance->GetParamKind(paramIdx))
|
auto paramKind = methodInstance->GetParamKind(paramIdx);
|
||||||
|
if (paramKind == BfParamKind_AppendIdx)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
switch (paramKind)
|
||||||
{
|
{
|
||||||
case BfParamKind_Params:
|
case BfParamKind_Params:
|
||||||
methodStr += "params ";
|
methodStr += "params ";
|
||||||
|
@ -3499,19 +3515,25 @@ void BfAutoComplete::FixitAddConstructor(BfTypeInstance *typeInstance)
|
||||||
methodStr += mModule->TypeToString(methodInstance->GetParamType(paramIdx), BfTypeNameFlag_ReduceName);
|
methodStr += mModule->TypeToString(methodInstance->GetParamType(paramIdx), BfTypeNameFlag_ReduceName);
|
||||||
methodStr += " ";
|
methodStr += " ";
|
||||||
methodStr += methodInstance->GetParamName(paramIdx);
|
methodStr += methodInstance->GetParamName(paramIdx);
|
||||||
|
useParamIdx++;
|
||||||
}
|
}
|
||||||
methodStr += ") : base(";
|
methodStr += ") : base(";
|
||||||
|
|
||||||
ctorShowName += "this(";
|
ctorShowName += "this(";
|
||||||
|
useParamIdx = 0;
|
||||||
for (int paramIdx = 0; paramIdx < methodInstance->GetParamCount(); paramIdx++)
|
for (int paramIdx = 0; paramIdx < methodInstance->GetParamCount(); paramIdx++)
|
||||||
{
|
{
|
||||||
if (paramIdx > 0)
|
if (useParamIdx > 0)
|
||||||
{
|
{
|
||||||
ctorShowName += ", ";
|
ctorShowName += ", ";
|
||||||
methodStr += ", ";
|
methodStr += ", ";
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (methodInstance->GetParamKind(paramIdx))
|
auto paramKind = methodInstance->GetParamKind(paramIdx);
|
||||||
|
if (paramKind == BfParamKind_AppendIdx)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
switch (paramKind)
|
||||||
{
|
{
|
||||||
case BfParamKind_Params:
|
case BfParamKind_Params:
|
||||||
methodStr += "params ";
|
methodStr += "params ";
|
||||||
|
@ -3533,6 +3555,7 @@ void BfAutoComplete::FixitAddConstructor(BfTypeInstance *typeInstance)
|
||||||
|
|
||||||
methodStr += methodInstance->GetParamName(paramIdx);
|
methodStr += methodInstance->GetParamName(paramIdx);
|
||||||
ctorShowName += methodInstance->GetParamName(paramIdx);
|
ctorShowName += methodInstance->GetParamName(paramIdx);
|
||||||
|
useParamIdx++;
|
||||||
}
|
}
|
||||||
ctorShowName += ")";
|
ctorShowName += ")";
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue