소스 검색

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;
  		}