瀏覽代碼

Method selection fixes

Brian Fiete 4 年之前
父節點
當前提交
f194d9ca0e
共有 1 個文件被更改,包括 7 次插入0 次删除
  1. 7 0
      IDEHelper/Compiler/BfExprEvaluator.cpp

+ 7 - 0
IDEHelper/Compiler/BfExprEvaluator.cpp

@@ -1954,6 +1954,13 @@ NoMatch:
 		
 		
 		if (mBackupMethodDef != NULL)
 		if (mBackupMethodDef != NULL)
 		{
 		{
+			int prevParamDiff = (int)mBackupMethodDef->GetExplicitParamCount() - (int)mArguments.size();
+			int paramDiff = (int)checkMethod->GetExplicitParamCount() - (int)mArguments.size();
+			if ((prevParamDiff < 0) && (prevParamDiff > paramDiff))
+				return false;
+			if ((prevParamDiff >= 0) && (paramDiff < 0))
+				return false;
+
 			if (argMatchCount < mBackupArgMatchCount)
 			if (argMatchCount < mBackupArgMatchCount)
 				return false;
 				return false;
 			else if (argMatchCount == mBackupArgMatchCount)
 			else if (argMatchCount == mBackupArgMatchCount)