浏览代码

Fixed GetMethodByName for methods in conditional extensions

Brian Fiete 3 年之前
父节点
当前提交
48571d374f
共有 1 个文件被更改,包括 7 次插入3 次删除
  1. 7 3
      IDEHelper/Compiler/BfModule.cpp

+ 7 - 3
IDEHelper/Compiler/BfModule.cpp

@@ -10827,10 +10827,14 @@ BfModuleMethodInstance BfModule::GetMethodByName(BfTypeInstance* typeInstance, c
 
 		while (methodDef != NULL)
 		{
- 			if ((methodDef->mMethodType != BfMethodType_Mixin) &&
+			if ((methodDef->mMethodType != BfMethodType_Mixin) &&
 				(methodDef->mGenericParams.size() == 0) &&
- 				((paramCount == -1) || (paramCount == (int)methodDef->mParams.size())))
- 				return GetMethodInstanceAtIdx(typeInstance, methodDef->mIdx);
+				((paramCount == -1) || (paramCount == (int)methodDef->mParams.size())))
+			{
+				auto moduleMethodInstance = GetMethodInstanceAtIdx(typeInstance, methodDef->mIdx);
+				if (moduleMethodInstance)
+					return moduleMethodInstance;
+			}
 			methodDef = methodDef->mNextWithSameName;
  		}