Sfoglia il codice sorgente

Fixed parameter attribute resolution in partials in CreateTypeData

Brian Fiete 1 anno fa
parent
commit
4b59c1463c
1 ha cambiato i file con 5 aggiunte e 0 eliminazioni
  1. 5 0
      IDEHelper/Compiler/BfModule.cpp

+ 5 - 0
IDEHelper/Compiler/BfModule.cpp

@@ -7335,6 +7335,11 @@ BfIRValue BfModule::CreateTypeData(BfType* type, Dictionary<int, int>& usedStrin
 			SetAndRestoreValue<BfTypeInstance*> prevTypeInstance(mCurTypeInstance, typeInstance);
 			if (auto methodDeclaration = methodDef->GetMethodDeclaration())
 			{
+				BfTypeState typeState;
+				typeState.mPrevState = mContext->mCurTypeState;
+				typeState.mForceActiveTypeDef = methodDef->mDeclaringType;
+				SetAndRestoreValue<BfTypeState*> prevTypeState(mContext->mCurTypeState, &typeState);
+
 				for (BfParameterDeclaration* paramDecl : methodDeclaration->mParams)
 				{
 					if (paramDecl->mAttributes != NULL)