mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 11:38:21 +02:00
Fixed cascade error, switched minidump test to use symbols.beeflang.org
This commit is contained in:
parent
7966abb501
commit
3625d76cc7
9 changed files with 78 additions and 47 deletions
|
@ -14824,12 +14824,19 @@ BfTypedValue BfExprEvaluator::SetupNullConditional(BfTypedValue thisValue, BfTok
|
|||
return thisValue;
|
||||
}
|
||||
|
||||
void BfExprEvaluator::CheckDotToken(BfTokenNode* tokenNode)
|
||||
{
|
||||
if ((tokenNode != NULL) && (tokenNode->mToken == BfToken_DotDot))
|
||||
mModule->Fail("Unexpected cascade operation. Chaining can only be used for method invocations", tokenNode);
|
||||
}
|
||||
|
||||
void BfExprEvaluator::DoMemberReference(BfMemberReferenceExpression* memberRefExpr, BfTypedValue* outCascadeValue)
|
||||
{
|
||||
CheckDotToken(memberRefExpr->mDotToken);
|
||||
|
||||
BfAttributeState attributeState;
|
||||
attributeState.mTarget = (BfAttributeTargets)(BfAttributeTargets_MemberAccess);
|
||||
|
||||
|
||||
String findName;
|
||||
BfAstNode* nameRefNode = memberRefExpr->mMemberName;
|
||||
if (auto attrIdentifierExpr = BfNodeDynCast<BfAttributedIdentifierNode>(memberRefExpr->mMemberName))
|
||||
|
|
|
@ -383,6 +383,7 @@ public:
|
|||
void DoTypeIntAttr(BfTypeReference* typeRef, BfToken token);
|
||||
//void InitializedSizedArray(BfTupleExpression* createExpr, BfSizedArrayType* arrayType);
|
||||
void InitializedSizedArray(BfSizedArrayType* sizedArrayType, BfTokenNode* openToken, const BfSizedArray<BfExpression*>& values, const BfSizedArray<BfTokenNode*>& commas, BfTokenNode* closeToken, BfTypedValue* receivingValue = NULL);
|
||||
void CheckDotToken(BfTokenNode* tokenNode);
|
||||
void DoMemberReference(BfMemberReferenceExpression* memberRefExpr, BfTypedValue* outCascadeValue);
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -1387,7 +1387,7 @@ public:
|
|||
//#define BF_WANTS_LOG_CLANG
|
||||
//#define BF_WANTS_LOG_DBGEXPR
|
||||
//#define BF_WANTS_LOG_CV
|
||||
#define BF_WANTS_LOG_DBG
|
||||
//#define BF_WANTS_LOG_DBG
|
||||
#endif
|
||||
|
||||
#ifdef BF_WANTS_LOG
|
||||
|
|
|
@ -840,6 +840,8 @@ BF_EXPORT void BF_CALLTYPE Debugger_SetSymSrvOptions(const char* symCacheDir, co
|
|||
{
|
||||
String symStr = String(startStr, cPtr - startStr);
|
||||
symStr.Trim();
|
||||
if (symStr.EndsWith('/'))
|
||||
symStr.Remove((int)symStr.length() - 1, 1);
|
||||
if (!symStr.IsEmpty())
|
||||
symServers.Add(symStr);
|
||||
startStr = cPtr;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue