From 25a7d5fed17ceb20c3c4df037ab30951599f9b15 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Fri, 25 Dec 2020 12:28:40 -0800 Subject: [PATCH] Fixed attributed indexer expression --- IDEHelper/Compiler/BfModuleTypeUtils.cpp | 6 ++++-- IDEHelper/Compiler/BfReducer.cpp | 5 +++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/IDEHelper/Compiler/BfModuleTypeUtils.cpp b/IDEHelper/Compiler/BfModuleTypeUtils.cpp index 906209f3..be09df25 100644 --- a/IDEHelper/Compiler/BfModuleTypeUtils.cpp +++ b/IDEHelper/Compiler/BfModuleTypeUtils.cpp @@ -10826,8 +10826,10 @@ BfIRValue BfModule::CastToValue(BfAstNode* srcNode, BfTypedValue typedVal, BfTyp { auto svTypeInst = toType->ToTypeInstance(); - mBfIRBuilder->PopulateType(svTypeInst); - + PopulateType(svTypeInst); + PopulateType(svTypeInst->mBaseType); + mBfIRBuilder->PopulateType(svTypeInst); + auto stringCharPtr = GetStringCharPtr(stringId); SizedArray spanFieldVals; spanFieldVals.Add(mBfIRBuilder->CreateConstStructZero(mBfIRBuilder->MapType(svTypeInst->mBaseType->mBaseType))); diff --git a/IDEHelper/Compiler/BfReducer.cpp b/IDEHelper/Compiler/BfReducer.cpp index 65545f51..e2bea4b3 100644 --- a/IDEHelper/Compiler/BfReducer.cpp +++ b/IDEHelper/Compiler/BfReducer.cpp @@ -7707,8 +7707,9 @@ BfExpression* BfReducer::CreateIndexerExpression(BfExpression* target) if (attributeDirective != NULL) { BfAttributedExpression* attribExpr = mAlloc->Alloc(); - attribExpr->mAttributes = attributeDirective; - MEMBER_SET(attribExpr, mExpression, indexerExpr); + ReplaceNode(indexerExpr, attribExpr); + attribExpr->mExpression = indexerExpr; + MEMBER_SET(attribExpr, mAttributes, attributeDirective); return attribExpr; }