Pārlūkot izejas kodu

Fix function/delegate link error

Brian Fiete 1 gadu atpakaļ
vecāks
revīzija
504a7dca82
1 mainītis faili ar 3 papildinājumiem un 3 dzēšanām
  1. 3 3
      IDEHelper/Compiler/BfModuleTypeUtils.cpp

+ 3 - 3
IDEHelper/Compiler/BfModuleTypeUtils.cpp

@@ -4675,9 +4675,6 @@ void BfModule::DoPopulateType(BfType* resolvedTypeRef, BfPopulateType populateTy
 	typeInstance->mInstSize = std::max(0, typeInstance->mInstSize);
 	typeInstance->mInstAlign = std::max(0, typeInstance->mInstAlign);
 
-	if (typeInstance->IsDelegateOrFunction())
-		typeInstance->mAlwaysIncludeFlags = (BfAlwaysIncludeFlags)(typeInstance->mAlwaysIncludeFlags | BfAlwaysIncludeFlag_IncludeAllMethods);
-
 	ProcessCustomAttributeData();
 	int packing = 0;
 	bool isUnion = false;
@@ -6540,6 +6537,9 @@ void BfModule::DoTypeInstanceMethodProcessing(BfTypeInstance* typeInstance)
 			if (typeInstance->IncludeAllMethods())
 				implRequired = true;
 
+			if ((typeInstance->IsDelegateOrFunction()) && (methodDef->mName == "Invoke"))
+				implRequired = true;
+
 			// "AssumeInstantiated" also forces default ctor
 			if (((typeInstance->mAlwaysIncludeFlags & BfAlwaysIncludeFlag_AssumeInstantiated) != 0) &&
 				(methodDef->IsDefaultCtor()))