Explorar o código

Fixed index cast to int

Brian Fiete %!s(int64=4) %!d(string=hai) anos
pai
achega
8f59a9dc0a
Modificáronse 1 ficheiros con 3 adicións e 2 borrados
  1. 3 2
      IDEHelper/Compiler/BfExprEvaluator.cpp

+ 3 - 2
IDEHelper/Compiler/BfExprEvaluator.cpp

@@ -18079,8 +18079,9 @@ void BfExprEvaluator::Visit(BfIndexerExpression* indexerExpr)
 		}
 		else
 		{
-			mModule->Fail("Expected integer index", indexerExpr->mArguments[0]);
-			indexArgument = mModule->GetDefaultTypedValue(mModule->GetPrimitiveType(BfTypeCode_IntPtr));
+			indexArgument = mModule->Cast(indexerExpr->mArguments[0], indexArgument, mModule->GetPrimitiveType(BfTypeCode_IntPtr));
+			if (!indexArgument)			
+				indexArgument = mModule->GetDefaultTypedValue(mModule->GetPrimitiveType(BfTypeCode_IntPtr));
 		}
 	}