mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 19:48:20 +02:00
Fixed colorization of unqualified property access (ie: implicit 'this')
This commit is contained in:
parent
729ca1e8c4
commit
dfdbe7440f
3 changed files with 13 additions and 3 deletions
|
@ -4770,7 +4770,7 @@ BfTypedValue BfExprEvaluator::LookupIdentifier(BfAstNode* refNode, const StringI
|
||||||
result = LookupField(identifierNode, thisValue, findName);
|
result = LookupField(identifierNode, thisValue, findName);
|
||||||
if ((result) || (mPropDef != NULL))
|
if ((result) || (mPropDef != NULL))
|
||||||
{
|
{
|
||||||
mModule->SetElementType(identifierNode, BfSourceElementType_Member);
|
mModule->SetHighestElementType(identifierNode, BfSourceElementType_Member);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4785,7 +4785,7 @@ BfTypedValue BfExprEvaluator::LookupIdentifier(BfAstNode* refNode, const StringI
|
||||||
result = LookupField(identifierNode, thisValue, findName);
|
result = LookupField(identifierNode, thisValue, findName);
|
||||||
if ((result) || (mPropDef != NULL))
|
if ((result) || (mPropDef != NULL))
|
||||||
{
|
{
|
||||||
mModule->SetElementType(identifierNode, BfSourceElementType_Member);
|
mModule->SetHighestElementType(identifierNode, BfSourceElementType_Member);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4793,7 +4793,7 @@ BfTypedValue BfExprEvaluator::LookupIdentifier(BfAstNode* refNode, const StringI
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mModule->SetElementType(identifierNode, BfSourceElementType_Member);
|
mModule->SetHighestElementType(identifierNode, BfSourceElementType_Member);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((!result) && (identifierNode != NULL))
|
if ((!result) && (identifierNode != NULL))
|
||||||
|
|
|
@ -3031,6 +3031,15 @@ void BfModule::SetElementType(BfAstNode* astNode, BfSourceElementType elementTyp
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BfModule::SetHighestElementType(BfAstNode* astNode, BfSourceElementType elementType)
|
||||||
|
{
|
||||||
|
if (mCompiler->mResolvePassData != NULL)
|
||||||
|
{
|
||||||
|
if (auto sourceClassifier = mCompiler->mResolvePassData->GetSourceClassifier(astNode))
|
||||||
|
sourceClassifier->SetHighestElementType(astNode, elementType);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool BfModule::PreFail()
|
bool BfModule::PreFail()
|
||||||
{
|
{
|
||||||
if (!mIgnoreErrors)
|
if (!mIgnoreErrors)
|
||||||
|
|
|
@ -1624,6 +1624,7 @@ public:
|
||||||
void GetAccessAllowed(BfTypeInstance* checkType, bool& allowProtected, bool& allowPrivate);
|
void GetAccessAllowed(BfTypeInstance* checkType, bool& allowProtected, bool& allowPrivate);
|
||||||
bool CheckProtection(BfProtectionCheckFlags& flags, BfTypeInstance* memberOwner, BfProject* memberProject, BfProtection memberProtection, BfTypeInstance* lookupStartType);
|
bool CheckProtection(BfProtectionCheckFlags& flags, BfTypeInstance* memberOwner, BfProject* memberProject, BfProtection memberProtection, BfTypeInstance* lookupStartType);
|
||||||
void SetElementType(BfAstNode* astNode, BfSourceElementType elementType);
|
void SetElementType(BfAstNode* astNode, BfSourceElementType elementType);
|
||||||
|
void SetHighestElementType(BfAstNode* astNode, BfSourceElementType elementType);
|
||||||
bool PreFail();
|
bool PreFail();
|
||||||
void SetFail();
|
void SetFail();
|
||||||
void VerifyOnDemandMethods();
|
void VerifyOnDemandMethods();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue